From e16b93ed43afcc4f51f93e110cab8b26b0a5745d Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Mon, 22 Apr 2024 11:47:24 -0700 Subject: [PATCH 01/31] Updated some unit tests that I missed last time. --- .../test_WaterELimNoXUVLB15NoO2SinkBolmont16.py | 4 ++-- .../test_WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O.py | 4 ++-- .../test_WaterELimNoXUVLB15SinkO2Bolmont16.py | 4 ++-- .../test_WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O.py | 4 ++-- .../test_WaterELimNoXUVLBExactNoO2SinkBolmont16.py | 4 ++-- .../test_WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O.py | 4 ++-- .../test_WaterELimNoXUVLBExactSinkO2Bolmont16.py | 4 ++-- .../test_WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O.py | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkBolmont16/test_WaterELimNoXUVLB15NoO2SinkBolmont16.py b/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkBolmont16/test_WaterELimNoXUVLB15NoO2SinkBolmont16.py index 9aecdc234..009583782 100644 --- a/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkBolmont16/test_WaterELimNoXUVLB15NoO2SinkBolmont16.py +++ b/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkBolmont16/test_WaterELimNoXUVLB15NoO2SinkBolmont16.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+15, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } diff --git a/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O.py b/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O.py index 86d760157..73d9384ea 100644 --- a/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O.py +++ b/tests/Atmesc/WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLB15NoO2SinkConstXAbsEffH2O.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+15, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } diff --git a/tests/Atmesc/WaterELimNoXUVLB15SinkO2Bolmont16/test_WaterELimNoXUVLB15SinkO2Bolmont16.py b/tests/Atmesc/WaterELimNoXUVLB15SinkO2Bolmont16/test_WaterELimNoXUVLB15SinkO2Bolmont16.py index 307400492..99bd1d353 100644 --- a/tests/Atmesc/WaterELimNoXUVLB15SinkO2Bolmont16/test_WaterELimNoXUVLB15SinkO2Bolmont16.py +++ b/tests/Atmesc/WaterELimNoXUVLB15SinkO2Bolmont16/test_WaterELimNoXUVLB15SinkO2Bolmont16.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+13, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } diff --git a/tests/Atmesc/WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O.py b/tests/Atmesc/WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O.py index be71cd166..93ee6d9d0 100644 --- a/tests/Atmesc/WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O.py +++ b/tests/Atmesc/WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLB15SinkO2ConstXAbsEffH2O.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+15, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } diff --git a/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkBolmont16/test_WaterELimNoXUVLBExactNoO2SinkBolmont16.py b/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkBolmont16/test_WaterELimNoXUVLBExactNoO2SinkBolmont16.py index e83445f17..85eeadd57 100644 --- a/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkBolmont16/test_WaterELimNoXUVLBExactNoO2SinkBolmont16.py +++ b/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkBolmont16/test_WaterELimNoXUVLBExactNoO2SinkBolmont16.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+15, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } diff --git a/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O.py b/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O.py index ae825b039..3bff17a7f 100644 --- a/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O.py +++ b/tests/Atmesc/WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O/test_WaterELimNoXUVLBExactNoO2SinkConstXAbsEffH2O.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+15, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } diff --git a/tests/Atmesc/WaterELimNoXUVLBExactSinkO2Bolmont16/test_WaterELimNoXUVLBExactSinkO2Bolmont16.py b/tests/Atmesc/WaterELimNoXUVLBExactSinkO2Bolmont16/test_WaterELimNoXUVLBExactSinkO2Bolmont16.py index 7bbcc49c6..6c099c37d 100644 --- a/tests/Atmesc/WaterELimNoXUVLBExactSinkO2Bolmont16/test_WaterELimNoXUVLBExactSinkO2Bolmont16.py +++ b/tests/Atmesc/WaterELimNoXUVLBExactSinkO2Bolmont16/test_WaterELimNoXUVLBExactSinkO2Bolmont16.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+15, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } diff --git a/tests/Atmesc/WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O.py b/tests/Atmesc/WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O.py index 944e82e45..12f365311 100644 --- a/tests/Atmesc/WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O.py +++ b/tests/Atmesc/WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O/test_WaterELimNoXUVLBExactSinkO2ConstXAbsEffH2O.py @@ -55,7 +55,7 @@ "log.initial.earth.XO2": {"value": 0.000000}, "log.initial.earth.XH2O": {"value": 1.000000}, "log.initial.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.initial.earth.HRefODragMod": {"value": -0.000000}, + "log.initial.earth.HRefODragMod": {"value": -1.000000}, "log.initial.earth.KTide": {"value": 1.000000}, "log.initial.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, "log.final.system.Age": {"value": 3.155760e+15, "unit": u.sec}, @@ -110,7 +110,7 @@ "log.final.earth.XO2": {"value": 0.000000}, "log.final.earth.XH2O": {"value": 1.000000}, "log.final.earth.HDiffFlux": {"value": 1.264874e+17, "unit": 1 / u.m ** 2 / u.sec}, - "log.final.earth.HRefODragMod": {"value": -0.000000}, + "log.final.earth.HRefODragMod": {"value": -1.000000}, "log.final.earth.KTide": {"value": 1.000000}, "log.final.earth.RGDuration": {"value": 0.00000e+00, "unit": u.yr}, } From 537b1ec11a0f6ce2ef00edb9c75eeff564090a78 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Mon, 22 Apr 2024 11:53:04 -0700 Subject: [PATCH 02/31] Changed logic in unit test yamls to improve reliability of unit test failure reporting. --- .github/workflows/tests-linux.yml | 12 ++++++++++-- .github/workflows/tests-macos-intel.yml | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index f4d6ca2ea..f9ef546aa 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -39,10 +39,13 @@ jobs: pip install pytest pytest-cov sudo apt install lcov - - name: Run tests and generate coverage + - name: Run tests + id: test if: steps.install.outcome == 'success' shell: bash -l {0} - run: make coverage + run: | + make opt + pytest - name: Check test ouptut created id: check_test_file @@ -51,6 +54,11 @@ jobs: files: "/home/runner/work/vplanet/vplanet/junit/test-results.xml" fail: true + - name: Generate coverage + id: coverage + if: steps.test.outcome == 'success' && steps.check_test_file.outcome == 'success' + run: make coverage + - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 id: jobs diff --git a/.github/workflows/tests-macos-intel.yml b/.github/workflows/tests-macos-intel.yml index b081c9d6a..2f01df835 100644 --- a/.github/workflows/tests-macos-intel.yml +++ b/.github/workflows/tests-macos-intel.yml @@ -33,7 +33,9 @@ jobs: - name: Run tests if: steps.setup_python.outcome == 'success' - run: make test + run: | + make opt + pytest - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 From 73e9a132237aee3276a4661d78dcbb5e3ff85c85 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Mon, 22 Apr 2024 12:28:39 -0700 Subject: [PATCH 03/31] Added sudo apt-get update to workflow yamls. --- .github/workflows/docs.yml | 1 + .github/workflows/examples.yml | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7aeb714b6..acee381ab 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -24,6 +24,7 @@ jobs: if: steps.setup_python.outcome == 'success' shell: bash -l {0} run: | + sudo apt-get update sudo apt-get install -y doxygen sudo apt-get install -y doxygen-doc python -m pip install -U pip diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index a6838c6aa..0b916793b 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -26,7 +26,6 @@ jobs: sudo apt-get install cm-super sudo apt-get install texlive-fonts-recommended texlive-fonts-extra sudo apt-get install dvipng - sudo apt-get update - name: Set up Python id: setup_python From 5fb65908b603b7a1cd620553a913da7b6d97c065 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 23 Apr 2024 10:02:30 -0700 Subject: [PATCH 04/31] Updated workflow ymls to update apt-get, if applicable. --- .github/workflows/memcheck.yml | 1 + .github/workflows/tests-linux.yml | 3 ++- .github/workflows/tests-macos-intel.yml | 2 +- .github/workflows/tests-macos-silicon.yml | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/memcheck.yml b/.github/workflows/memcheck.yml index f822a4533..165cde4f6 100644 --- a/.github/workflows/memcheck.yml +++ b/.github/workflows/memcheck.yml @@ -29,6 +29,7 @@ jobs: if: steps.setup_python.outcome == 'success' shell: bash -l {0} run: | + sudo apt-get update sudo apt-get install valgrind - name: Run valgrind test diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index f9ef546aa..e7053fd1a 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -34,6 +34,7 @@ jobs: if: steps.setup_python.outcome == 'success' shell: bash -l {0} run: | + sudo apt-get update python -m pip install -U pip python -m pip install -e . pip install pytest pytest-cov @@ -45,7 +46,7 @@ jobs: shell: bash -l {0} run: | make opt - pytest + pytest --tb=short - name: Check test ouptut created id: check_test_file diff --git a/.github/workflows/tests-macos-intel.yml b/.github/workflows/tests-macos-intel.yml index 2f01df835..243088828 100644 --- a/.github/workflows/tests-macos-intel.yml +++ b/.github/workflows/tests-macos-intel.yml @@ -35,7 +35,7 @@ jobs: if: steps.setup_python.outcome == 'success' run: | make opt - pytest + pytest --tb=short - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 diff --git a/.github/workflows/tests-macos-silicon.yml b/.github/workflows/tests-macos-silicon.yml index aaf48a1b2..283278d1a 100644 --- a/.github/workflows/tests-macos-silicon.yml +++ b/.github/workflows/tests-macos-silicon.yml @@ -35,7 +35,7 @@ jobs: if: steps.setup_python.outcome == 'success' run: | make opt - pytest + pytest --tb=short - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 From 4423e7a805ff41d5724bec9535dc2b502607a2ce Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 23 Apr 2024 10:15:41 -0700 Subject: [PATCH 05/31] Removed potential div-by-zero calculations in atmesc.c --- src/atmesc.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/atmesc.c b/src/atmesc.c index ea011de5d..ac87e5c00 100644 --- a/src/atmesc.c +++ b/src/atmesc.c @@ -1846,10 +1846,11 @@ void fnPropsAuxAtmEsc(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, (KBOLTZ * body[iBody].dFlowTemp * body[iBody].dFHRef) / (BDIFF * g); FH = body[iBody].dFHRef; + /* Is this necessary? XXX rat = ((body[iBody].dCrossoverMass / ATOMMASS) - QOH) / ((body[iBody].dCrossoverMass / ATOMMASS) - 1.); body[iBody].dOxygenEta = 0; - + */ } else { // mcross >= mo @@ -1859,10 +1860,14 @@ void fnPropsAuxAtmEsc(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, ATOMMASS * num / den + (KBOLTZ * body[iBody].dFlowTemp * body[iBody].dFHRef) / ((1 + XO * (QOH - 1)) * BDIFF * g); - rat = (body[iBody].dCrossoverMass / ATOMMASS - QOH) / + if (body[iBody].dCrossoverMass != ATOMMASS) { + rat = (body[iBody].dCrossoverMass / ATOMMASS - QOH) / (body[iBody].dCrossoverMass / ATOMMASS - 1.); - FH = body[iBody].dFHRef * pow(1. + (XO / (1. - XO)) * QOH * rat, -1); - body[iBody].dOxygenEta = 2 * XO / (1. - XO) * rat; + FH = body[iBody].dFHRef * pow(1. + (XO / (1. - XO)) * QOH * rat, -1); + body[iBody].dOxygenEta = 2 * XO / (1. - XO) * rat; + } else { + body[iBody].dOxygenEta = 0; + } } } else if (body[iBody].iWaterLossModel == ATMESC_LS2016) { From 2c0880b03597bd59d382ca8c8e6632650ae4ba03 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 23 Apr 2024 14:30:56 -0700 Subject: [PATCH 06/31] Printing output from an error running vplanet now. --- vplanet/wrapper.py | 1 + 1 file changed, 1 insertion(+) diff --git a/vplanet/wrapper.py b/vplanet/wrapper.py index f6b7fc2c9..5def03081 100644 --- a/vplanet/wrapper.py +++ b/vplanet/wrapper.py @@ -89,6 +89,7 @@ def run( except subprocess.CalledProcessError as e: error = True if error: + print(e) raise VPLANETError("Error running VPLANET.") # Grab the output From 7e5d898dd6716900320d8b0b841629c0a25b5d5d Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 23 Apr 2024 15:50:32 -0700 Subject: [PATCH 07/31] Moved error message in wrapper.py --- vplanet/wrapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vplanet/wrapper.py b/vplanet/wrapper.py index 5def03081..36bd711a8 100644 --- a/vplanet/wrapper.py +++ b/vplanet/wrapper.py @@ -87,9 +87,9 @@ def run( try: subprocess.check_output(args, cwd=path) except subprocess.CalledProcessError as e: + print(e) error = True if error: - print(e) raise VPLANETError("Error running VPLANET.") # Grab the output From 6cb2379b33b5252416d9b0c6be3c2b8c2b2c40d5 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 24 Apr 2024 13:24:55 -0700 Subject: [PATCH 08/31] Began removing sprintf... --- src/atmesc.c | 2 +- src/control.c | 27 +++++++++++++++++++++++++++ src/control.h | 1 + src/vplanet.h | 1 + 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/atmesc.c b/src/atmesc.c index ac87e5c00..7d1e8de45 100644 --- a/src/atmesc.c +++ b/src/atmesc.c @@ -957,7 +957,7 @@ void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ATMXABSEFFH2OMODEL].iType = 3; options[OPT_ATMXABSEFFH2OMODEL].bMultiFile = 1; fnRead[OPT_ATMXABSEFFH2OMODEL] = &ReadAtmXAbsEffH2OModel; - sprintf(options[OPT_ATMXABSEFFH2OMODEL].cLongDescr, + fvFormattedString(&options[OPT_ATMXABSEFFH2OMODEL].cLongDescr, "If BOLMONT16 is selected, then the value of %s will follow the " "model of\n" "Bolmont et al. (2017, MNRAS, 464, 3728). NONE will not change the " diff --git a/src/control.c b/src/control.c index 08bd53cb3..4b6854496 100644 --- a/src/control.c +++ b/src/control.c @@ -867,6 +867,33 @@ void fprintd(FILE *fp, double x, int iExp, int iDig) { } } +void fvFormattedString(char **sString,const char* sFormattedString, ...) { + va_list vaArgs; + va_start(vaArgs, sFormattedString); + + va_list vaArgsCopy; + va_copy(vaArgsCopy, vaArgs); + + // Determine the length of the formatted string + int iString = vsnprintf(NULL, 0, sFormattedString, vaArgs); + + // Allocate memory for the string + *sString = (char*)malloc((iString + 1) * sizeof(char)); + if (*sString == NULL) { + va_end(vaArgs); + va_end(vaArgsCopy); + fprintf(stderr,"ERROR: Unable to create formatted string in functionfvWriteString.\n"); + exit(EXIT_EXE); + } + + // Fill the string with the formatted data using the copied va_list + vsnprintf(*sString, iString + 1, sFormattedString, vaArgsCopy); + + va_end(vaArgs); // Clean up the original va_list + va_end(vaArgsCopy); // Clean up the copied va_list +} + + /* * Unit Conversions */ diff --git a/src/control.h b/src/control.h index 991311326..a28887bd4 100644 --- a/src/control.h +++ b/src/control.h @@ -26,6 +26,7 @@ void Help(OPTIONS *, OUTPUT *, char[], int); void LineExit(char[], int); char *sLower(char[]); void fprintd(FILE *, double, int, int); +void fvFormattedString(char**,const char*, ...); double fdUnitsLength(int); double fdUnitsTime(int); diff --git a/src/vplanet.h b/src/vplanet.h index d3236e0c8..6c4f71d3b 100644 --- a/src/vplanet.h +++ b/src/vplanet.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include From c06c139bb54588f3c3a4a2c5685c763500641517 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Thu, 25 Apr 2024 12:49:09 -0700 Subject: [PATCH 09/31] Changed error message in wrapper.py to actually report the error. --- vplanet/wrapper.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vplanet/wrapper.py b/vplanet/wrapper.py index 36bd711a8..43bf6a558 100644 --- a/vplanet/wrapper.py +++ b/vplanet/wrapper.py @@ -87,10 +87,10 @@ def run( try: subprocess.check_output(args, cwd=path) except subprocess.CalledProcessError as e: - print(e) + message = e error = True if error: - raise VPLANETError("Error running VPLANET.") + raise VPLANETError(message) # Grab the output output = get_output(path=path, sysname=sysname, units=units) From dd706bcd538d764d8a8b2e90768079538ef78637 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Thu, 25 Apr 2024 17:18:52 -0700 Subject: [PATCH 10/31] Removed all instances of sprintf. Code untested. --- src/atmesc.c | 376 ++++++++++----------- src/binary.c | 194 +++++------ src/control.c | 81 +++-- src/distorb.c | 174 +++++----- src/distrot.c | 142 ++++---- src/eqtide.c | 428 ++++++++++++------------ src/flare.c | 212 ++++++------ src/galhabit.c | 258 +++++++-------- src/magmoc.c | 248 +++++++------- src/options.c | 605 +++++++++++++++++---------------- src/output.c | 380 ++++++++++----------- src/poise.c | 763 +++++++++++++++++++++--------------------- src/radheat.c | 884 ++++++++++++++++++++++++------------------------- src/spinbody.c | 110 +++--- src/stellar.c | 164 ++++----- src/thermint.c | 787 +++++++++++++++++++++---------------------- src/verify.c | 6 +- src/vplanet.h | 71 ++-- 18 files changed, 2908 insertions(+), 2975 deletions(-) diff --git a/src/atmesc.c b/src/atmesc.c index 7d1e8de45..1e0d19d34 100644 --- a/src/atmesc.c +++ b/src/atmesc.c @@ -905,16 +905,16 @@ Initialize the user options for the atmospheric escape model. void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { int iOpt, iFile; - sprintf(options[OPT_XFRAC].cName, "dXFrac"); - sprintf(options[OPT_XFRAC].cDescr, "Fraction of planet radius in X-ray/UV"); - sprintf(options[OPT_XFRAC].cDefault, "1"); - sprintf(options[OPT_XFRAC].cDimension, "nd"); + fvFormattedString(&options[OPT_XFRAC].cName, "dXFrac"); + fvFormattedString(&options[OPT_XFRAC].cDescr, "Fraction of planet radius in X-ray/UV"); + fvFormattedString(&options[OPT_XFRAC].cDefault, "1"); + fvFormattedString(&options[OPT_XFRAC].cDimension, "nd"); options[OPT_XFRAC].dDefault = 1.0; options[OPT_XFRAC].iType = 2; options[OPT_XFRAC].bMultiFile = 1; fnRead[OPT_XFRAC] = &ReadXFrac; - sprintf( - options[OPT_XFRAC].cLongDescr, + fvFormattedString( + &options[OPT_XFRAC].cLongDescr, "Ratio of the planet's XUV radius to its total radius. The XUV radius " "is\n" "defined to be the distance between the center of the planet and the\n" @@ -922,38 +922,38 @@ void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { "be\n" "in the range (0,1]."); - sprintf(options[OPT_ATMXABSEFFH].cName, "dAtmXAbsEffH"); - sprintf(options[OPT_ATMXABSEFFH].cDescr, + fvFormattedString(&options[OPT_ATMXABSEFFH].cName, "dAtmXAbsEffH"); + fvFormattedString(&options[OPT_ATMXABSEFFH].cDescr, "Hydrogen X-ray/UV absorption efficiency (epsilon)"); - sprintf(options[OPT_ATMXABSEFFH].cDefault, "0.15"); - sprintf(options[OPT_ATMXABSEFFH].cDimension, "nd"); + fvFormattedString(&options[OPT_ATMXABSEFFH].cDefault, "0.15"); + fvFormattedString(&options[OPT_ATMXABSEFFH].cDimension, "nd"); options[OPT_ATMXABSEFFH].dDefault = 0.15; options[OPT_ATMXABSEFFH].iType = 2; options[OPT_ATMXABSEFFH].bMultiFile = 1; fnRead[OPT_ATMXABSEFFH] = &ReadAtmXAbsEffH; - sprintf(options[OPT_ATMXABSEFFH].cLongDescr, + fvFormattedString(&options[OPT_ATMXABSEFFH].cLongDescr, "XUV absoprtion efficiency parameter, epsilon_{XUV}, in Eq. (A1) in\n" "Barnes et al. (2019). Must lie in the range [0,1]."); - sprintf(options[OPT_ATMXABSEFFH2O].cName, "dAtmXAbsEffH2O"); - sprintf(options[OPT_ATMXABSEFFH2O].cDescr, + fvFormattedString(&options[OPT_ATMXABSEFFH2O].cName, "dAtmXAbsEffH2O"); + fvFormattedString(&options[OPT_ATMXABSEFFH2O].cDescr, "Water X-ray/UV absorption efficiency (epsilon)"); - sprintf(options[OPT_ATMXABSEFFH2O].cDefault, "0.30"); - sprintf(options[OPT_ATMXABSEFFH2O].cDimension, "nd"); + fvFormattedString(&options[OPT_ATMXABSEFFH2O].cDefault, "0.30"); + fvFormattedString(&options[OPT_ATMXABSEFFH2O].cDimension, "nd"); options[OPT_ATMXABSEFFH2O].dDefault = 0.30; options[OPT_ATMXABSEFFH2O].iType = 2; options[OPT_ATMXABSEFFH2O].bMultiFile = 1; fnRead[OPT_ATMXABSEFFH2O] = &ReadAtmXAbsEffH2O; - sprintf(options[OPT_ATMXABSEFFH2O].cLongDescr, + fvFormattedString(&options[OPT_ATMXABSEFFH2O].cLongDescr, "XUV absoprtion efficiency parameter for water vapor as defined in\n" "Luger & Barnes (2015, AsBio, 15, 57). Must lie in range [0,1]."); - sprintf(options[OPT_ATMXABSEFFH2OMODEL].cName, "sAtmXAbsEffH2OModel"); - sprintf(options[OPT_ATMXABSEFFH2OMODEL].cDescr, + fvFormattedString(&options[OPT_ATMXABSEFFH2OMODEL].cName, "sAtmXAbsEffH2OModel"); + fvFormattedString(&options[OPT_ATMXABSEFFH2OMODEL].cDescr, "Water X-ray/XUV absorption efficiency evolution model"); - sprintf(options[OPT_ATMXABSEFFH2OMODEL].cDefault, "NONE"); - sprintf(options[OPT_ATMXABSEFFH2OMODEL].cValues, "BOLMONT16 NONE"); - sprintf(options[OPT_ATMXABSEFFH2OMODEL].cDimension, "nd"); + fvFormattedString(&options[OPT_ATMXABSEFFH2OMODEL].cDefault, "NONE"); + fvFormattedString(&options[OPT_ATMXABSEFFH2OMODEL].cValues, "BOLMONT16 NONE"); + fvFormattedString(&options[OPT_ATMXABSEFFH2OMODEL].cDimension, "nd"); options[OPT_ATMXABSEFFH2OMODEL].iType = 3; options[OPT_ATMXABSEFFH2OMODEL].bMultiFile = 1; fnRead[OPT_ATMXABSEFFH2OMODEL] = &ReadAtmXAbsEffH2OModel; @@ -965,51 +965,51 @@ void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { "value for %s.", options[OPT_ATMXABSEFFH2O].cName, options[OPT_ATMXABSEFFH2O].cName); - sprintf(options[OPT_OXYGENMASS].cName, "dOxygenMass"); - sprintf(options[OPT_OXYGENMASS].cDescr, + fvFormattedString(&options[OPT_OXYGENMASS].cName, "dOxygenMass"); + fvFormattedString(&options[OPT_OXYGENMASS].cDescr, "The initial oxygen mass in the atmosphere."); - sprintf(options[OPT_OXYGENMASS].cDefault, "0"); - sprintf(options[OPT_OXYGENMASS].cDimension, "mass"); + fvFormattedString(&options[OPT_OXYGENMASS].cDefault, "0"); + fvFormattedString(&options[OPT_OXYGENMASS].cDimension, "mass"); options[OPT_OXYGENMASS].dDefault = 0; options[OPT_OXYGENMASS].iType = 2; options[OPT_OXYGENMASS].bMultiFile = 1; fnRead[OPT_OXYGENMASS] = &ReadOxygenMass; // No LongDescr needed - sprintf(options[OPT_OXYGENMANTLEMASS].cName, "dOxygenMantleMass"); - sprintf(options[OPT_OXYGENMANTLEMASS].cDescr, + fvFormattedString(&options[OPT_OXYGENMANTLEMASS].cName, "dOxygenMantleMass"); + fvFormattedString(&options[OPT_OXYGENMANTLEMASS].cDescr, "Initial Oxygen Mass in the Mantle"); - sprintf(options[OPT_OXYGENMANTLEMASS].cDefault, "0"); - sprintf(options[OPT_OXYGENMANTLEMASS].cDimension, "mass"); + fvFormattedString(&options[OPT_OXYGENMANTLEMASS].cDefault, "0"); + fvFormattedString(&options[OPT_OXYGENMANTLEMASS].cDimension, "mass"); options[OPT_OXYGENMANTLEMASS].dDefault = 0; options[OPT_OXYGENMANTLEMASS].iType = 2; options[OPT_OXYGENMANTLEMASS].bMultiFile = 1; fnRead[OPT_OXYGENMANTLEMASS] = &ReadOxygenMantleMass; // No LongDescr needed - sprintf(options[OPT_WATERLOSSMODEL].cName, "sWaterLossModel"); - sprintf(options[OPT_WATERLOSSMODEL].cDescr, + fvFormattedString(&options[OPT_WATERLOSSMODEL].cName, "sWaterLossModel"); + fvFormattedString(&options[OPT_WATERLOSSMODEL].cDescr, "Water loss and oxygen buildup model"); - sprintf(options[OPT_WATERLOSSMODEL].cDefault, "LBEXACT"); - sprintf(options[OPT_WATERLOSSMODEL].cValues, "LB15 LBEXACT TIAN LS16"); - sprintf(options[OPT_WATERLOSSMODEL].cDimension, "nd"); + fvFormattedString(&options[OPT_WATERLOSSMODEL].cDefault, "LBEXACT"); + fvFormattedString(&options[OPT_WATERLOSSMODEL].cValues, "LB15 LBEXACT TIAN LS16"); + fvFormattedString(&options[OPT_WATERLOSSMODEL].cDimension, "nd"); options[OPT_WATERLOSSMODEL].iType = 3; options[OPT_WATERLOSSMODEL].bMultiFile = 1; fnRead[OPT_WATERLOSSMODEL] = &ReadWaterLossModel; - sprintf(options[OPT_WATERLOSSMODEL].cLongDescr, + fvFormattedString(&options[OPT_WATERLOSSMODEL].cLongDescr, "The water loss rate will be determined by the selected model.\n" "The options are LB15, LBEXACT, TIAN, and LS16.\n"); - sprintf(options[OPT_PLANETRADIUSMODEL].cName, "sPlanetRadiusModel"); - sprintf(options[OPT_PLANETRADIUSMODEL].cDescr, "Gaseous Planet Radius Model"); - sprintf(options[OPT_PLANETRADIUSMODEL].cDefault, "NONE"); - sprintf(options[OPT_PLANETRADIUSMODEL].cValues, + fvFormattedString(&options[OPT_PLANETRADIUSMODEL].cName, "sPlanetRadiusModel"); + fvFormattedString(&options[OPT_PLANETRADIUSMODEL].cDescr, "Gaseous Planet Radius Model"); + fvFormattedString(&options[OPT_PLANETRADIUSMODEL].cDefault, "NONE"); + fvFormattedString(&options[OPT_PLANETRADIUSMODEL].cValues, "LOPEZ12 PROXCENB LEHMER17 NONE."); options[OPT_PLANETRADIUSMODEL].iType = 3; options[OPT_PLANETRADIUSMODEL].bMultiFile = 1; fnRead[OPT_PLANETRADIUSMODEL] = &ReadPlanetRadiusModel; - sprintf( - options[OPT_PLANETRADIUSMODEL].cLongDescr, + fvFormattedString( + &options[OPT_PLANETRADIUSMODEL].cLongDescr, "If LOPEZ12 is selected, the planet radius will follow the model in\n" "Lopez et al. (2012, ApJ, 761, 59). PROXCENB will use the model for\n" "Proxima b in Barnes et al. (2016, arXiv:1608.06919). LEHMER17 is the\n" @@ -1017,40 +1017,40 @@ void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { "to\n" "remain constant.\n"); - sprintf(options[OPT_INSTANTO2SINK].cName, "bInstantO2Sink"); - sprintf(options[OPT_INSTANTO2SINK].cDescr, + fvFormattedString(&options[OPT_INSTANTO2SINK].cName, "bInstantO2Sink"); + fvFormattedString(&options[OPT_INSTANTO2SINK].cDescr, "Is oxygen absorbed instantaneously at the surface?"); - sprintf(options[OPT_INSTANTO2SINK].cDefault, "0"); + fvFormattedString(&options[OPT_INSTANTO2SINK].cDefault, "0"); options[OPT_INSTANTO2SINK].iType = 0; options[OPT_INSTANTO2SINK].bMultiFile = 1; fnRead[OPT_INSTANTO2SINK] = &ReadInstantO2Sink; - sprintf( - options[OPT_INSTANTO2SINK].cLongDescr, + fvFormattedString( + &options[OPT_INSTANTO2SINK].cLongDescr, "If set to 1, then all oxygen released by photolysis is immediately\n" "removed from the atmosphere. This mimics rapid surface oxidation.\n"); - sprintf(options[OPT_STOPWATERLOSSINHZ].cName, "bStopWaterLossInHZ"); - sprintf(options[OPT_STOPWATERLOSSINHZ].cDescr, + fvFormattedString(&options[OPT_STOPWATERLOSSINHZ].cName, "bStopWaterLossInHZ"); + fvFormattedString(&options[OPT_STOPWATERLOSSINHZ].cDescr, "Stop water photolysis and H escape in the HZ?"); - sprintf(options[OPT_STOPWATERLOSSINHZ].cDefault, "1"); + fvFormattedString(&options[OPT_STOPWATERLOSSINHZ].cDefault, "1"); options[OPT_STOPWATERLOSSINHZ].iType = 0; options[OPT_STOPWATERLOSSINHZ].bMultiFile = 1; fnRead[OPT_STOPWATERLOSSINHZ] = &ReadStopWaterLossInHZ; - sprintf(options[OPT_STOPWATERLOSSINHZ].cLongDescr, + fvFormattedString(&options[OPT_STOPWATERLOSSINHZ].cLongDescr, "If set to 1, then all water photolysis and hydrogen escape will not " "occur\n" "for a planet in the habitable zone, defined to be when the " "instellation\n." "is less than the runaway greenhouse threshold.\n"); - sprintf(options[OPT_BONDILIMITED].cName, "bUseBondiLimited"); - sprintf(options[OPT_BONDILIMITED].cDescr, + fvFormattedString(&options[OPT_BONDILIMITED].cName, "bUseBondiLimited"); + fvFormattedString(&options[OPT_BONDILIMITED].cDescr, "Use Bondi-limited escape for H envelope?"); - sprintf(options[OPT_BONDILIMITED].cDefault, "0"); + fvFormattedString(&options[OPT_BONDILIMITED].cDefault, "0"); options[OPT_BONDILIMITED].iType = 0; options[OPT_BONDILIMITED].bMultiFile = 1; fnRead[OPT_BONDILIMITED] = &ReadBondiLimited; - sprintf(options[OPT_BONDILIMITED].cLongDescr, + fvFormattedString(&options[OPT_BONDILIMITED].cLongDescr, "Force the atmospheric erosion of a H envelope to be Bondi-limited " "where the\n" "mass loss is regulated by the sound speed at the sonic point " @@ -1062,42 +1062,42 @@ void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { "the local blackbody equlibrium temperature (Owen & Wu 2016, " "Equation 2).\n"); - sprintf(options[OPT_ENERGYLIMITED].cName, "bUseEnergyLimited"); - sprintf(options[OPT_ENERGYLIMITED].cDescr, + fvFormattedString(&options[OPT_ENERGYLIMITED].cName, "bUseEnergyLimited"); + fvFormattedString(&options[OPT_ENERGYLIMITED].cDescr, "Use energy-limited escape for H envelope?"); - sprintf(options[OPT_ENERGYLIMITED].cDefault, "0"); + fvFormattedString(&options[OPT_ENERGYLIMITED].cDefault, "0"); options[OPT_ENERGYLIMITED].iType = 0; options[OPT_ENERGYLIMITED].bMultiFile = 1; fnRead[OPT_ENERGYLIMITED] = &ReadEnergyLimited; - sprintf(options[OPT_ENERGYLIMITED].cLongDescr, + fvFormattedString(&options[OPT_ENERGYLIMITED].cLongDescr, "Force the atmospheric erosion of a H envelope to be energy-limited, " "i.e. the\n" "mass loss is directly proportional to the incident XUV flux " "(Equation 5\n" "from Luger et al. (2015)).\n"); - sprintf(options[OPT_RRLIMITED].cName, "bUseRRLimited"); - sprintf(options[OPT_RRLIMITED].cDescr, + fvFormattedString(&options[OPT_RRLIMITED].cName, "bUseRRLimited"); + fvFormattedString(&options[OPT_RRLIMITED].cDescr, "Use radiation/recombination-limited escape for H envelope?"); - sprintf(options[OPT_RRLIMITED].cDefault, "0"); + fvFormattedString(&options[OPT_RRLIMITED].cDefault, "0"); options[OPT_RRLIMITED].iType = 0; options[OPT_RRLIMITED].bMultiFile = 1; fnRead[OPT_RRLIMITED] = &ReadRRLimited; - sprintf(options[OPT_RRLIMITED].cLongDescr, + fvFormattedString(&options[OPT_RRLIMITED].cLongDescr, "Force the atmospheric erosion of a H envelope to be " "radiation/recombination-limited, i.e. the\n" "mass loss is directly proportional to the sqrt of the incident XUV " "flux (Equation 13\n" "from Luger et al. (2015) and Murray-Clay et al. (2009).\n"); - sprintf(options[OPT_ATMESCAUTO].cName, "bAtmEscAuto"); - sprintf(options[OPT_ATMESCAUTO].cDescr, + fvFormattedString(&options[OPT_ATMESCAUTO].cName, "bAtmEscAuto"); + fvFormattedString(&options[OPT_ATMESCAUTO].cDescr, "Let atmesc determine H envelope escape regime?"); - sprintf(options[OPT_ATMESCAUTO].cDefault, "0"); + fvFormattedString(&options[OPT_ATMESCAUTO].cDefault, "0"); options[OPT_ATMESCAUTO].iType = 0; options[OPT_ATMESCAUTO].bMultiFile = 1; fnRead[OPT_ATMESCAUTO] = &ReadAtmEscAuto; - sprintf(options[OPT_ATMESCAUTO].cLongDescr, + fvFormattedString(&options[OPT_ATMESCAUTO].cLongDescr, "Let AtmEsc determine the proper atmospheric escape regime for an " "eroding H envelope.\n" "If the planetary radius exceeds the Roche lobe, the unbound " @@ -1113,30 +1113,30 @@ void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { "is energy-limited and is linearly proportional to the incident XUV " "flux.\n"); - sprintf(options[OPT_HALTDESICCATED].cName, "bHaltSurfaceDesiccated"); - sprintf(options[OPT_HALTDESICCATED].cDescr, "Halt at Desiccation?"); - sprintf(options[OPT_HALTDESICCATED].cDefault, "0"); + fvFormattedString(&options[OPT_HALTDESICCATED].cName, "bHaltSurfaceDesiccated"); + fvFormattedString(&options[OPT_HALTDESICCATED].cDescr, "Halt at Desiccation?"); + fvFormattedString(&options[OPT_HALTDESICCATED].cDefault, "0"); options[OPT_HALTDESICCATED].iType = 0; options[OPT_HALTDESICCATED].bMultiFile = 1; fnRead[OPT_HALTDESICCATED] = &ReadHaltMinSurfaceWaterMass; - sprintf(options[OPT_HALTENVELOPEGONE].cName, "bHaltEnvelopeGone"); - sprintf(options[OPT_HALTENVELOPEGONE].cDescr, + fvFormattedString(&options[OPT_HALTENVELOPEGONE].cName, "bHaltEnvelopeGone"); + fvFormattedString(&options[OPT_HALTENVELOPEGONE].cDescr, "Halt When Envelope Evaporates?"); - sprintf(options[OPT_HALTENVELOPEGONE].cDefault, "0"); + fvFormattedString(&options[OPT_HALTENVELOPEGONE].cDefault, "0"); options[OPT_HALTENVELOPEGONE].bMultiFile = 1; options[OPT_HALTENVELOPEGONE].iType = 0; fnRead[OPT_HALTENVELOPEGONE] = &ReadHaltMinEnvelopeMass; - sprintf(options[OPT_THERMTEMP].cName, "dThermTemp"); - sprintf(options[OPT_THERMTEMP].cDescr, "Thermosphere temperature"); - sprintf(options[OPT_THERMTEMP].cDefault, "400"); - sprintf(options[OPT_THERMTEMP].cDimension, "temperature"); + fvFormattedString(&options[OPT_THERMTEMP].cName, "dThermTemp"); + fvFormattedString(&options[OPT_THERMTEMP].cDescr, "Thermosphere temperature"); + fvFormattedString(&options[OPT_THERMTEMP].cDefault, "400"); + fvFormattedString(&options[OPT_THERMTEMP].cDimension, "temperature"); options[OPT_THERMTEMP].dDefault = 400; options[OPT_THERMTEMP].iType = 2; options[OPT_THERMTEMP].bMultiFile = 1; fnRead[OPT_THERMTEMP] = &ReadThermTemp; - sprintf(options[OPT_THERMTEMP].cLongDescr, + fvFormattedString(&options[OPT_THERMTEMP].cLongDescr, "The thermal temperature of a planet heated by radiation from the " "primary.\n" "The user may set a value which will then remain constant for the " @@ -1147,59 +1147,59 @@ void InitializeOptionsAtmEsc(OPTIONS *options, fnReadOption fnRead[]) { "radiation,\n" "A is albedo and sigma is the Steffan-Boltzman constant.\n"); - sprintf(options[OPT_FLOWTEMP].cName, "dFlowTemp"); - sprintf(options[OPT_FLOWTEMP].cDescr, "Temperature of the hydrodynamic flow"); - sprintf(options[OPT_FLOWTEMP].cDefault, "400"); - sprintf(options[OPT_FLOWTEMP].cDimension, "temperature"); + fvFormattedString(&options[OPT_FLOWTEMP].cName, "dFlowTemp"); + fvFormattedString(&options[OPT_FLOWTEMP].cDescr, "Temperature of the hydrodynamic flow"); + fvFormattedString(&options[OPT_FLOWTEMP].cDefault, "400"); + fvFormattedString(&options[OPT_FLOWTEMP].cDimension, "temperature"); options[OPT_FLOWTEMP].dDefault = 400; options[OPT_FLOWTEMP].iType = 2; options[OPT_FLOWTEMP].bMultiFile = 1; fnRead[OPT_FLOWTEMP] = &ReadFlowTemp; - sprintf(options[OPT_JEANSTIME].cName, "dJeansTime"); - sprintf(options[OPT_JEANSTIME].cDescr, + fvFormattedString(&options[OPT_JEANSTIME].cName, "dJeansTime"); + fvFormattedString(&options[OPT_JEANSTIME].cDescr, "Time at which flow transitions to Jeans escape"); - sprintf(options[OPT_JEANSTIME].cDefault, "1 Gyr"); - sprintf(options[OPT_JEANSTIME].cDimension, "time"); + fvFormattedString(&options[OPT_JEANSTIME].cDefault, "1 Gyr"); + fvFormattedString(&options[OPT_JEANSTIME].cDimension, "time"); options[OPT_JEANSTIME].dDefault = 1.e9 * YEARSEC; options[OPT_JEANSTIME].iType = 2; options[OPT_JEANSTIME].bMultiFile = 1; options[OPT_JEANSTIME].dNeg = 1.e9 * YEARSEC; - sprintf(options[OPT_JEANSTIME].cNeg, "Gyr"); + fvFormattedString(&options[OPT_JEANSTIME].cNeg, "Gyr"); fnRead[OPT_JEANSTIME] = &ReadJeansTime; - sprintf(options[OPT_PRESXUV].cName, "dPresXUV"); - sprintf(options[OPT_PRESXUV].cDescr, "Pressure at base of thermosphere"); - sprintf(options[OPT_PRESXUV].cDefault, "5 Pa"); - sprintf(options[OPT_PRESXUV].cDimension, "pressure"); + fvFormattedString(&options[OPT_PRESXUV].cName, "dPresXUV"); + fvFormattedString(&options[OPT_PRESXUV].cDescr, "Pressure at base of thermosphere"); + fvFormattedString(&options[OPT_PRESXUV].cDefault, "5 Pa"); + fvFormattedString(&options[OPT_PRESXUV].cDimension, "pressure"); options[OPT_PRESXUV].dDefault = 5.0; options[OPT_PRESXUV].iType = 2; options[OPT_PRESXUV].bMultiFile = 1; fnRead[OPT_PRESXUV] = &ReadPresXUV; - sprintf(options[OPT_ATMGASCONST].cName, "dAtmGasConst"); - sprintf(options[OPT_ATMGASCONST].cDescr, "Atmospheric Gas Constant"); - sprintf(options[OPT_ATMGASCONST].cDefault, "4124"); - sprintf(options[OPT_ATMGASCONST].cDimension, "energy/temperature/mass"); + fvFormattedString(&options[OPT_ATMGASCONST].cName, "dAtmGasConst"); + fvFormattedString(&options[OPT_ATMGASCONST].cDescr, "Atmospheric Gas Constant"); + fvFormattedString(&options[OPT_ATMGASCONST].cDefault, "4124"); + fvFormattedString(&options[OPT_ATMGASCONST].cDimension, "energy/temperature/mass"); options[OPT_ATMGASCONST].dDefault = 4124.0; options[OPT_ATMGASCONST].iType = 2; options[OPT_ATMGASCONST].bMultiFile = 1; fnRead[OPT_ATMGASCONST] = &ReadAtmGasConst; - sprintf(options[OPT_FXUV].cName, "dFXUV"); - sprintf(options[OPT_FXUV].cDescr, "XUV flux at the body's orbit"); - sprintf(options[OPT_FXUV].cDimension, "energyflux"); + fvFormattedString(&options[OPT_FXUV].cName, "dFXUV"); + fvFormattedString(&options[OPT_FXUV].cDescr, "XUV flux at the body's orbit"); + fvFormattedString(&options[OPT_FXUV].cDimension, "energyflux"); options[OPT_FXUV].iType = 2; options[OPT_FXUV].bMultiFile = 1; options[OPT_FXUV].dNeg = 1; - sprintf(options[OPT_FXUV].cNeg, "W/m^2"); + fvFormattedString(&options[OPT_FXUV].cNeg, "W/m^2"); fnRead[OPT_FXUV] = &ReadFXUV; - sprintf(options[OPT_MINKTIDE].cName, "dMinKTide"); - sprintf(options[OPT_MINKTIDE].cDescr, + fvFormattedString(&options[OPT_MINKTIDE].cName, "dMinKTide"); + fvFormattedString(&options[OPT_MINKTIDE].cDescr, "Minimum value for stellar gravitaitonal enhancement of mass loss"); - sprintf(options[OPT_MINKTIDE].cDimension, "nd"); - sprintf(options[OPT_MINKTIDE].cDefault, "0.1"); + fvFormattedString(&options[OPT_MINKTIDE].cDimension, "nd"); + fvFormattedString(&options[OPT_MINKTIDE].cDefault, "0.1"); options[OPT_MINKTIDE].iType = 2; options[OPT_MINKTIDE].dDefault = 0.1; options[OPT_MINKTIDE].bMultiFile = 1; @@ -3495,178 +3495,178 @@ Set up stuff to be logged for atmesc. */ void InitializeOutputAtmEsc(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_SURFACEWATERMASS].cName, "SurfWaterMass"); - sprintf(output[OUT_SURFACEWATERMASS].cDescr, "Surface water mass"); - sprintf(output[OUT_SURFACEWATERMASS].cNeg, "TO"); + fvFormattedString(&output[OUT_SURFACEWATERMASS].cName, "SurfWaterMass"); + fvFormattedString(&output[OUT_SURFACEWATERMASS].cDescr, "Surface water mass"); + fvFormattedString(&output[OUT_SURFACEWATERMASS].cNeg, "TO"); output[OUT_SURFACEWATERMASS].bNeg = 1; output[OUT_SURFACEWATERMASS].dNeg = 1. / TOMASS; output[OUT_SURFACEWATERMASS].iNum = 1; output[OUT_SURFACEWATERMASS].iModuleBit = ATMESC; fnWrite[OUT_SURFACEWATERMASS] = &WriteSurfaceWaterMass; - sprintf(output[OUT_PLANETRADIUS].cName, "PlanetRadius"); - sprintf(output[OUT_PLANETRADIUS].cDescr, "Planet radius"); - sprintf(output[OUT_PLANETRADIUS].cNeg, "Rearth"); + fvFormattedString(&output[OUT_PLANETRADIUS].cName, "PlanetRadius"); + fvFormattedString(&output[OUT_PLANETRADIUS].cDescr, "Planet radius"); + fvFormattedString(&output[OUT_PLANETRADIUS].cNeg, "Rearth"); output[OUT_PLANETRADIUS].bNeg = 1; output[OUT_PLANETRADIUS].dNeg = 1. / REARTH; output[OUT_PLANETRADIUS].iNum = 1; output[OUT_PLANETRADIUS].iModuleBit = ATMESC; fnWrite[OUT_PLANETRADIUS] = &WritePlanetRadius; - sprintf(output[OUT_OXYGENMASS].cName, "OxygenMass"); - sprintf(output[OUT_OXYGENMASS].cDescr, "Oxygen mass in the atmosphere"); - sprintf(output[OUT_OXYGENMASS].cNeg, "bars"); + fvFormattedString(&output[OUT_OXYGENMASS].cName, "OxygenMass"); + fvFormattedString(&output[OUT_OXYGENMASS].cDescr, "Oxygen mass in the atmosphere"); + fvFormattedString(&output[OUT_OXYGENMASS].cNeg, "bars"); output[OUT_OXYGENMASS].bNeg = 1; output[OUT_OXYGENMASS].dNeg = 1; output[OUT_OXYGENMASS].iNum = 1; output[OUT_OXYGENMASS].iModuleBit = ATMESC; fnWrite[OUT_OXYGENMASS] = &WriteOxygenMass; - sprintf(output[OUT_OXYGENMANTLEMASS].cName, "OxygenMantleMass"); - sprintf(output[OUT_OXYGENMANTLEMASS].cDescr, "Mass of oxygen in mantle"); - sprintf(output[OUT_OXYGENMANTLEMASS].cNeg, "bars"); + fvFormattedString(&output[OUT_OXYGENMANTLEMASS].cName, "OxygenMantleMass"); + fvFormattedString(&output[OUT_OXYGENMANTLEMASS].cDescr, "Mass of oxygen in mantle"); + fvFormattedString(&output[OUT_OXYGENMANTLEMASS].cNeg, "bars"); output[OUT_OXYGENMANTLEMASS].bNeg = 1; output[OUT_OXYGENMANTLEMASS].dNeg = 1; output[OUT_OXYGENMANTLEMASS].iNum = 1; output[OUT_OXYGENMANTLEMASS].iModuleBit = ATMESC; fnWrite[OUT_OXYGENMANTLEMASS] = &WriteOxygenMantleMass; - sprintf(output[OUT_RGLIMIT].cName, "RGLimit"); - sprintf(output[OUT_RGLIMIT].cDescr, "Runaway greenhouse semi-major axis"); - sprintf(output[OUT_RGLIMIT].cNeg, "AU"); + fvFormattedString(&output[OUT_RGLIMIT].cName, "RGLimit"); + fvFormattedString(&output[OUT_RGLIMIT].cDescr, "Runaway greenhouse semi-major axis"); + fvFormattedString(&output[OUT_RGLIMIT].cNeg, "AU"); output[OUT_RGLIMIT].bNeg = 1; output[OUT_RGLIMIT].dNeg = 1. / AUM; output[OUT_RGLIMIT].iNum = 1; output[OUT_RGLIMIT].iModuleBit = ATMESC; fnWrite[OUT_RGLIMIT] = &WriteRGLimit; - sprintf(output[OUT_XO].cName, "XO"); - sprintf(output[OUT_XO].cDescr, + fvFormattedString(&output[OUT_XO].cName, "XO"); + fvFormattedString(&output[OUT_XO].cDescr, "Atomic oxygen mixing ratio in upper atmosphere"); output[OUT_XO].bNeg = 0; output[OUT_XO].iNum = 1; output[OUT_XO].iModuleBit = ATMESC; fnWrite[OUT_XO] = &WriteOxygenMixingRatio; - sprintf(output[OUT_ETAO].cName, "EtaO"); - sprintf(output[OUT_ETAO].cDescr, + fvFormattedString(&output[OUT_ETAO].cName, "EtaO"); + fvFormattedString(&output[OUT_ETAO].cDescr, "Oxygen eta parameter (Luger and Barnes 2015)"); output[OUT_ETAO].bNeg = 0; output[OUT_ETAO].iNum = 1; output[OUT_ETAO].iModuleBit = ATMESC; fnWrite[OUT_ETAO] = &WriteOxygenEta; - sprintf(output[OUT_KTIDE].cName, "KTide"); - sprintf(output[OUT_KTIDE].cDescr, + fvFormattedString(&output[OUT_KTIDE].cName, "KTide"); + fvFormattedString(&output[OUT_KTIDE].cDescr, "Mass loss enhancement due to stellar gravity"); output[OUT_KTIDE].bNeg = 0; output[OUT_KTIDE].iNum = 1; output[OUT_KTIDE].iModuleBit = ATMESC; fnWrite[OUT_KTIDE] = &WriteKTide; - sprintf(output[OUT_EPSH2O].cName, "AtmXAbsEffH2O"); - sprintf(output[OUT_EPSH2O].cDescr, + fvFormattedString(&output[OUT_EPSH2O].cName, "AtmXAbsEffH2O"); + fvFormattedString(&output[OUT_EPSH2O].cDescr, "XUV atmospheric escape efficiency for H2O"); output[OUT_EPSH2O].bNeg = 0; output[OUT_EPSH2O].iNum = 1; output[OUT_EPSH2O].iModuleBit = ATMESC; fnWrite[OUT_EPSH2O] = &WriteAtmXAbsEffH2O; - sprintf(output[OUT_ENVELOPEMASS].cName, "EnvelopeMass"); - sprintf(output[OUT_ENVELOPEMASS].cDescr, "Envelope mass"); - sprintf(output[OUT_ENVELOPEMASS].cNeg, "Mearth"); + fvFormattedString(&output[OUT_ENVELOPEMASS].cName, "EnvelopeMass"); + fvFormattedString(&output[OUT_ENVELOPEMASS].cDescr, "Envelope mass"); + fvFormattedString(&output[OUT_ENVELOPEMASS].cNeg, "Mearth"); output[OUT_ENVELOPEMASS].bNeg = 1; output[OUT_ENVELOPEMASS].dNeg = 1. / MEARTH; output[OUT_ENVELOPEMASS].iNum = 1; output[OUT_ENVELOPEMASS].iModuleBit = ATMESC; fnWrite[OUT_ENVELOPEMASS] = &WriteEnvelopeMass; - sprintf(output[OUT_PLANETRADXUV].cName, "RadXUV"); - sprintf(output[OUT_PLANETRADXUV].cDescr, + fvFormattedString(&output[OUT_PLANETRADXUV].cName, "RadXUV"); + fvFormattedString(&output[OUT_PLANETRADXUV].cDescr, "XUV radius separating hydro. dyn. escape and equilibrium"); - sprintf(output[OUT_PLANETRADXUV].cNeg, "Rearth"); + fvFormattedString(&output[OUT_PLANETRADXUV].cNeg, "Rearth"); output[OUT_PLANETRADXUV].bNeg = 1; output[OUT_PLANETRADXUV].dNeg = 1. / REARTH; output[OUT_PLANETRADXUV].iNum = 1; output[OUT_PLANETRADXUV].iModuleBit = ATMESC; fnWrite[OUT_PLANETRADXUV] = &WritePlanetRadXUV; - sprintf(output[OUT_BONDIRADIUS].cName, "BondiRadius"); - sprintf(output[OUT_BONDIRADIUS].cDescr, "Bondi Radius"); + fvFormattedString(&output[OUT_BONDIRADIUS].cName, "BondiRadius"); + fvFormattedString(&output[OUT_BONDIRADIUS].cDescr, "Bondi Radius"); output[OUT_BONDIRADIUS].bNeg = 1; - sprintf(output[OUT_BONDIRADIUS].cNeg, "Rearth"); + fvFormattedString(&output[OUT_BONDIRADIUS].cNeg, "Rearth"); output[OUT_BONDIRADIUS].dNeg = 1. / REARTH; output[OUT_BONDIRADIUS].iNum = 1; output[OUT_BONDIRADIUS].iModuleBit = ATMESC; fnWrite[OUT_BONDIRADIUS] = &WriteBondiRadius; - sprintf(output[OUT_ROCHERADIUS].cName, "RocheRadius"); - sprintf(output[OUT_ROCHERADIUS].cDescr, "Roche Lobe Radius"); + fvFormattedString(&output[OUT_ROCHERADIUS].cName, "RocheRadius"); + fvFormattedString(&output[OUT_ROCHERADIUS].cDescr, "Roche Lobe Radius"); output[OUT_ROCHERADIUS].bNeg = 1; - sprintf(output[OUT_ROCHERADIUS].cNeg, "Rearth"); + fvFormattedString(&output[OUT_ROCHERADIUS].cNeg, "Rearth"); output[OUT_ROCHERADIUS].dNeg = 1. / REARTH; output[OUT_ROCHERADIUS].iNum = 1; output[OUT_ROCHERADIUS].iModuleBit = ATMESC; fnWrite[OUT_ROCHERADIUS] = &WriteRocheRadius; - sprintf(output[OUT_DENVMASSDT].cName, "DEnvMassDt"); - sprintf(output[OUT_DENVMASSDT].cDescr, "Envelope Mass Loss Rate"); - sprintf(output[OUT_DENVMASSDT].cNeg, "Mearth/Myr"); + fvFormattedString(&output[OUT_DENVMASSDT].cName, "DEnvMassDt"); + fvFormattedString(&output[OUT_DENVMASSDT].cDescr, "Envelope Mass Loss Rate"); + fvFormattedString(&output[OUT_DENVMASSDT].cNeg, "Mearth/Myr"); output[OUT_DENVMASSDT].bNeg = 1; output[OUT_DENVMASSDT].dNeg = (YEARSEC * 1e6) / MEARTH; output[OUT_DENVMASSDT].iNum = 1; output[OUT_DENVMASSDT].iModuleBit = ATMESC; fnWrite[OUT_DENVMASSDT] = &WriteDEnvMassDt; - sprintf(output[OUT_THERMTEMP].cName, "ThermTemp"); - sprintf(output[OUT_THERMTEMP].cDescr, "Isothermal atmospheric temperature"); - sprintf(output[OUT_THERMTEMP].cNeg, "K"); + fvFormattedString(&output[OUT_THERMTEMP].cName, "ThermTemp"); + fvFormattedString(&output[OUT_THERMTEMP].cDescr, "Isothermal atmospheric temperature"); + fvFormattedString(&output[OUT_THERMTEMP].cNeg, "K"); output[OUT_THERMTEMP].bNeg = 1; output[OUT_THERMTEMP].dNeg = 1; // default units are K. output[OUT_THERMTEMP].iNum = 1; output[OUT_THERMTEMP].iModuleBit = ATMESC; fnWrite[OUT_THERMTEMP] = &WriteThermTemp; - sprintf(output[OUT_PRESSURF].cName, "PresSurf"); - sprintf(output[OUT_PRESSURF].cDescr, "Surface pressure due to atmosphere"); - sprintf(output[OUT_PRESSURF].cNeg, "GPa"); + fvFormattedString(&output[OUT_PRESSURF].cName, "PresSurf"); + fvFormattedString(&output[OUT_PRESSURF].cDescr, "Surface pressure due to atmosphere"); + fvFormattedString(&output[OUT_PRESSURF].cNeg, "GPa"); output[OUT_PRESSURF].bNeg = 1; output[OUT_PRESSURF].dNeg = 1e-9; output[OUT_PRESSURF].iNum = 1; output[OUT_PRESSURF].iModuleBit = ATMESC; fnWrite[OUT_PRESSURF] = &WritePresSurf; - sprintf(output[OUT_PRESXUV].cName, "PresXUV"); - sprintf(output[OUT_PRESXUV].cDescr, "Pressure at base of thermosphere"); - sprintf(output[OUT_PRESXUV].cNeg, "Pa"); + fvFormattedString(&output[OUT_PRESXUV].cName, "PresXUV"); + fvFormattedString(&output[OUT_PRESXUV].cDescr, "Pressure at base of thermosphere"); + fvFormattedString(&output[OUT_PRESXUV].cNeg, "Pa"); output[OUT_PRESXUV].bNeg = 1; output[OUT_PRESXUV].dNeg = 1; output[OUT_PRESXUV].iNum = 1; output[OUT_PRESXUV].iModuleBit = ATMESC; fnWrite[OUT_PRESXUV] = &WritePresXUV; - sprintf(output[OUT_SCALEHEIGHT].cName, "ScaleHeight"); - sprintf(output[OUT_SCALEHEIGHT].cDescr, + fvFormattedString(&output[OUT_SCALEHEIGHT].cName, "ScaleHeight"); + fvFormattedString(&output[OUT_SCALEHEIGHT].cDescr, "Scale height in Lehmer & Catling (2016) model"); - sprintf(output[OUT_SCALEHEIGHT].cNeg, "km"); + fvFormattedString(&output[OUT_SCALEHEIGHT].cNeg, "km"); output[OUT_SCALEHEIGHT].bNeg = 1; output[OUT_SCALEHEIGHT].dNeg = 0.001; output[OUT_SCALEHEIGHT].iNum = 1; output[OUT_SCALEHEIGHT].iModuleBit = ATMESC; fnWrite[OUT_SCALEHEIGHT] = &WriteScaleHeight; - sprintf(output[OUT_ATMGASCONST].cName, "AtmGasConst"); - sprintf(output[OUT_ATMGASCONST].cDescr, "Atmospheric gas constant"); - sprintf(output[OUT_ATMGASCONST].cNeg, "J / K kg"); + fvFormattedString(&output[OUT_ATMGASCONST].cName, "AtmGasConst"); + fvFormattedString(&output[OUT_ATMGASCONST].cDescr, "Atmospheric gas constant"); + fvFormattedString(&output[OUT_ATMGASCONST].cNeg, "J / K kg"); output[OUT_ATMGASCONST].bNeg = 1; output[OUT_ATMGASCONST].dNeg = 1; output[OUT_ATMGASCONST].iNum = 1; output[OUT_ATMGASCONST].iModuleBit = ATMESC; fnWrite[OUT_ATMGASCONST] = &WriteAtmGasConst; - sprintf(output[OUT_RADSOLID].cName, "RadSolid"); - sprintf(output[OUT_RADSOLID].cDescr, "Radius to the solid surface"); - sprintf(output[OUT_RADSOLID].cNeg, "Rearth"); + fvFormattedString(&output[OUT_RADSOLID].cName, "RadSolid"); + fvFormattedString(&output[OUT_RADSOLID].cDescr, "Radius to the solid surface"); + fvFormattedString(&output[OUT_RADSOLID].cNeg, "Rearth"); output[OUT_RADSOLID].bNeg = 1; output[OUT_RADSOLID].dNeg = 1. / REARTH; output[OUT_RADSOLID].iNum = 1; @@ -3674,102 +3674,94 @@ void InitializeOutputAtmEsc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_RADSOLID] = &WriteRadSolid; // What the difference between this and XUVFlux? - sprintf(output[OUT_FXUV].cName, "FXUV"); - sprintf(output[OUT_FXUV].cDescr, "XUV flux"); - sprintf(output[OUT_FXUV].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_FXUV].cName, "FXUV"); + fvFormattedString(&output[OUT_FXUV].cDescr, "XUV flux"); + fvFormattedString(&output[OUT_FXUV].cNeg, "W/m^2"); output[OUT_FXUV].bNeg = 1; output[OUT_FXUV].dNeg = 1; output[OUT_FXUV].iNum = 1; output[OUT_FXUV].iModuleBit = ATMESC; fnWrite[OUT_FXUV] = &WriteFXUV; - sprintf(output[OUT_HESCAPEREGIME].cName, "HEscapeRegime"); - sprintf(output[OUT_HESCAPEREGIME].cDescr, + fvFormattedString(&output[OUT_HESCAPEREGIME].cName, "HEscapeRegime"); + fvFormattedString(&output[OUT_HESCAPEREGIME].cDescr, "Integer flag for H envelope escape regime"); output[OUT_HESCAPEREGIME].bNeg = 0; output[OUT_HESCAPEREGIME].iNum = 1; output[OUT_HESCAPEREGIME].iModuleBit = ATMESC; fnWrite[OUT_HESCAPEREGIME] = &WriteHEscapeRegime; - sprintf(output[OUT_RRCRITICALFLUX].cName, "RRCriticalFlux"); - sprintf(output[OUT_RRCRITICALFLUX].cDescr, + fvFormattedString(&output[OUT_RRCRITICALFLUX].cName, "RRCriticalFlux"); + fvFormattedString(&output[OUT_RRCRITICALFLUX].cDescr, "Critical XUV Flux that separates RR and energy-limited escape"); - sprintf(output[OUT_RRCRITICALFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_RRCRITICALFLUX].cNeg, "W/m^2"); output[OUT_RRCRITICALFLUX].bNeg = 1; output[OUT_RRCRITICALFLUX].dNeg = 1; output[OUT_RRCRITICALFLUX].iNum = 1; output[OUT_RRCRITICALFLUX].iModuleBit = ATMESC; fnWrite[OUT_RRCRITICALFLUX] = &WriteRRCriticalFlux; - /** Megan addition: crossover mass */ - sprintf(output[OUT_CROSSOVERMASS].cName, "CrossoverMass"); - sprintf(output[OUT_CROSSOVERMASS].cDescr, + fvFormattedString(&output[OUT_CROSSOVERMASS].cName, "CrossoverMass"); + fvFormattedString(&output[OUT_CROSSOVERMASS].cDescr, "Crossover mass, defines oxygen is escaping if mc > mo"); - sprintf(output[OUT_CROSSOVERMASS].cNeg, "amu"); + fvFormattedString(&output[OUT_CROSSOVERMASS].cNeg, "amu"); output[OUT_CROSSOVERMASS].bNeg = 1; output[OUT_CROSSOVERMASS].dNeg = 1. / ATOMMASS; output[OUT_CROSSOVERMASS].iNum = 1; output[OUT_CROSSOVERMASS].iModuleBit = ATMESC; fnWrite[OUT_CROSSOVERMASS] = &WriteCrossoverMass; - /** Megan addition: water escape regime */ - sprintf(output[OUT_WATERESCAPEREGIME].cName, "WaterEscapeRegime"); - sprintf(output[OUT_WATERESCAPEREGIME].cDescr, + fvFormattedString(&output[OUT_WATERESCAPEREGIME].cName, "WaterEscapeRegime"); + fvFormattedString(&output[OUT_WATERESCAPEREGIME].cDescr, "What water escape regime the code is currently in"); output[OUT_WATERESCAPEREGIME].bNeg = 0; output[OUT_WATERESCAPEREGIME].iNum = 1; output[OUT_WATERESCAPEREGIME].iModuleBit = ATMESC; fnWrite[OUT_WATERESCAPEREGIME] = &WriteWaterEscapeRegime; - /** Megan addition: modifier to H ref flux to include O drag */ - sprintf(output[OUT_HREFODRAGMOD].cName, "HRefODragMod"); - sprintf(output[OUT_HREFODRAGMOD].cDescr, + fvFormattedString(&output[OUT_HREFODRAGMOD].cName, "HRefODragMod"); + fvFormattedString(&output[OUT_HREFODRAGMOD].cDescr, "Multiply by H ref flux to get flux with drag"); output[OUT_HREFODRAGMOD].bNeg = 0; output[OUT_HREFODRAGMOD].iNum = 1; output[OUT_HREFODRAGMOD].iModuleBit = ATMESC; fnWrite[OUT_HREFODRAGMOD] = &WriteHRefODragMod; - /** Megan addition: FXUVCRITDRAG for LS16 model */ - sprintf(output[OUT_FXUVCRITDRAG].cName, "FXUVCRITDRAG"); - sprintf(output[OUT_FXUVCRITDRAG].cDescr, "Critical Drag XUV flux"); - sprintf(output[OUT_FXUVCRITDRAG].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_FXUVCRITDRAG].cName, "FXUVCRITDRAG"); + fvFormattedString(&output[OUT_FXUVCRITDRAG].cDescr, "Critical Drag XUV flux"); + fvFormattedString(&output[OUT_FXUVCRITDRAG].cNeg, "W/m^2"); output[OUT_FXUVCRITDRAG].bNeg = 1; output[OUT_FXUVCRITDRAG].dNeg = 1; output[OUT_FXUVCRITDRAG].iNum = 1; output[OUT_FXUVCRITDRAG].iModuleBit = ATMESC; fnWrite[OUT_FXUVCRITDRAG] = &WriteFXUVCRITDRAG; - /** Megan addition: Hydrogen Reference Flux */ - sprintf(output[OUT_HREFFLUX].cName, "HREFFLUX"); - sprintf(output[OUT_HREFFLUX].cDescr, + fvFormattedString(&output[OUT_HREFFLUX].cName, "HREFFLUX"); + fvFormattedString(&output[OUT_HREFFLUX].cDescr, "The Hydrogen Reference Flux (m^-2 s^-1)"); output[OUT_HREFFLUX].bNeg = 0; output[OUT_HREFFLUX].iNum = 1; output[OUT_HREFFLUX].iModuleBit = ATMESC; fnWrite[OUT_HREFFLUX] = &WriteHREFFLUX; - /** Megan addition: Hydrogen Diffusion Flux */ - sprintf(output[OUT_HDIFFFLUX].cName, "HDiffFlux"); - sprintf(output[OUT_HDIFFFLUX].cDescr, + fvFormattedString(&output[OUT_HDIFFFLUX].cName, "HDiffFlux"); + fvFormattedString(&output[OUT_HDIFFFLUX].cDescr, "The Hydrogen Diffusion Flux (m^-2 s^-1)"); output[OUT_HDIFFFLUX].bNeg = 0; output[OUT_HDIFFFLUX].iNum = 1; output[OUT_HDIFFFLUX].iModuleBit = ATMESC; fnWrite[OUT_HDIFFFLUX] = &WriteHDiffLimFlux; - /** Megan addition: Molecular Oxygen Mixing Ratio */ - sprintf(output[OUT_XO2].cName, "XO2"); - sprintf(output[OUT_XO2].cDescr, + fvFormattedString(&output[OUT_XO2].cName, "XO2"); + fvFormattedString(&output[OUT_XO2].cDescr, "Molecular oxygen mixing ratio in atmosphere"); output[OUT_XO2].bNeg = 0; output[OUT_XO2].iNum = 1; output[OUT_XO2].iModuleBit = ATMESC; fnWrite[OUT_XO2] = &WriteMolecOxygenMixingRatio; - /** Megan addition: Water Mixing Ratio in Atmosphere before condensation */ - sprintf(output[OUT_XH2O].cName, "XH2O"); - sprintf(output[OUT_XH2O].cDescr, "Water mixing ratio in upper atmosphere"); + fvFormattedString(&output[OUT_XH2O].cName, "XH2O"); + fvFormattedString(&output[OUT_XH2O].cDescr, "Water mixing ratio in upper atmosphere"); output[OUT_XH2O].bNeg = 0; output[OUT_XH2O].iNum = 1; output[OUT_XH2O].iModuleBit = ATMESC; diff --git a/src/binary.c b/src/binary.c index 8d061db13..d9126d225 100644 --- a/src/binary.c +++ b/src/binary.c @@ -416,68 +416,68 @@ void ReadHaltRocheLobe(BODY *body, CONTROL *control, FILES *files, void InitializeOptionsBinary(OPTIONS *options, fnReadOption fnRead[]) { int iOpt, iFile; - sprintf(options[OPT_FREEECC].cName, "dFreeEcc"); - sprintf(options[OPT_FREEECC].cDescr, "Circumbinary planet free eccentricity"); - sprintf(options[OPT_FREEECC].cDefault, "0.0"); - sprintf(options[OPT_FREEECC].cDimension, "nd"); + fvFormattedString(&options[OPT_FREEECC].cName, "dFreeEcc"); + fvFormattedString(&options[OPT_FREEECC].cDescr, "Circumbinary planet free eccentricity"); + fvFormattedString(&options[OPT_FREEECC].cDefault, "0.0"); + fvFormattedString(&options[OPT_FREEECC].cDimension, "nd"); options[OPT_FREEECC].dDefault = 0.0; options[OPT_FREEECC].iType = 2; options[OPT_FREEECC].bMultiFile = 1; fnRead[OPT_FREEECC] = &ReadFreeEcc; - sprintf(options[OPT_FREEECC].cLongDescr, + fvFormattedString(&options[OPT_FREEECC].cLongDescr, "The free eccentricity of a circumbinary planet with the BINARY " "module.\n" "Must be in the range [0,1)."); - sprintf(options[OPT_FREEINC].cName, "dFreeInc"); - sprintf(options[OPT_FREEINC].cDescr, "Circumbinary planet free inclination"); - sprintf(options[OPT_FREEINC].cDefault, "0.0 degrees"); - sprintf(options[OPT_FREEINC].cDimension, "angle"); + fvFormattedString(&options[OPT_FREEINC].cName, "dFreeInc"); + fvFormattedString(&options[OPT_FREEINC].cDescr, "Circumbinary planet free inclination"); + fvFormattedString(&options[OPT_FREEINC].cDefault, "0.0 degrees"); + fvFormattedString(&options[OPT_FREEINC].cDimension, "angle"); options[OPT_FREEINC].dDefault = 0.0; options[OPT_FREEINC].iType = 2; options[OPT_FREEINC].bMultiFile = 1; fnRead[OPT_FREEINC] = &ReadFreeInc; - sprintf(options[OPT_FREEINC].cLongDescr, + fvFormattedString(&options[OPT_FREEINC].cLongDescr, "The free inclination of a circumbinary planet with the BINARY " "module.\n" "Must be in the range [0,pi)."); - sprintf(options[OPT_LL13PHIAB].cName, "dLL13PhiAB"); - sprintf(options[OPT_LL13PHIAB].cDescr, + fvFormattedString(&options[OPT_LL13PHIAB].cName, "dLL13PhiAB"); + fvFormattedString(&options[OPT_LL13PHIAB].cDescr, "Binary Initial Mean Anomaly for use in the BINARY module"); - sprintf(options[OPT_LL13PHIAB].cDefault, "0.0 degrees"); - sprintf(options[OPT_LL13PHIAB].cDimension, "angle"); + fvFormattedString(&options[OPT_LL13PHIAB].cDefault, "0.0 degrees"); + fvFormattedString(&options[OPT_LL13PHIAB].cDimension, "angle"); options[OPT_LL13PHIAB].dDefault = 0.0; options[OPT_LL13PHIAB].iType = 2; options[OPT_LL13PHIAB].bMultiFile = 1; fnRead[OPT_LL13PHIAB] = &ReadLL13PhiAB; - sprintf(options[OPT_CBPM0].cName, "dCBPM0"); - sprintf(options[OPT_CBPM0].cDescr, + fvFormattedString(&options[OPT_CBPM0].cName, "dCBPM0"); + fvFormattedString(&options[OPT_CBPM0].cDescr, "Circumbinary planet initial mean anomaly for use in the BINARY " "module"); - sprintf(options[OPT_CBPM0].cDefault, "0.0 degrees"); - sprintf(options[OPT_CBPM0].cDimension, "angle"); + fvFormattedString(&options[OPT_CBPM0].cDefault, "0.0 degrees"); + fvFormattedString(&options[OPT_CBPM0].cDimension, "angle"); options[OPT_CBPM0].dDefault = 0.0; options[OPT_CBPM0].iType = 2; options[OPT_CBPM0].bMultiFile = 1; fnRead[OPT_CBPM0] = &ReadCBPM0; - sprintf(options[OPT_CBPZETA].cName, "dCBPZeta"); - sprintf(options[OPT_CBPZETA].cDescr, + fvFormattedString(&options[OPT_CBPZETA].cName, "dCBPZeta"); + fvFormattedString(&options[OPT_CBPZETA].cDescr, "Circumbinary planet initial z oscillation phase angle"); - sprintf(options[OPT_CBPZETA].cDefault, "0.0 degrees"); - sprintf(options[OPT_CBPZETA].cDimension, "angle"); + fvFormattedString(&options[OPT_CBPZETA].cDefault, "0.0 degrees"); + fvFormattedString(&options[OPT_CBPZETA].cDimension, "angle"); options[OPT_CBPZETA].dDefault = 0.0; options[OPT_CBPZETA].iType = 2; options[OPT_CBPZETA].bMultiFile = 1; fnRead[OPT_CBPZETA] = &ReadCBPZeta; - sprintf(options[OPT_CBPPSI].cName, "dCBPPsi"); - sprintf(options[OPT_CBPPSI].cDescr, + fvFormattedString(&options[OPT_CBPPSI].cName, "dCBPPsi"); + fvFormattedString(&options[OPT_CBPPSI].cDescr, "Circumbinary planet initial R, phi oscillation phase angle"); - sprintf(options[OPT_CBPPSI].cDefault, "0.0 degrees"); - sprintf(options[OPT_CBPPSI].cDimension, "angle"); + fvFormattedString(&options[OPT_CBPPSI].cDefault, "0.0 degrees"); + fvFormattedString(&options[OPT_CBPPSI].cDimension, "angle"); options[OPT_CBPPSI].dDefault = 0.0; options[OPT_CBPPSI].iType = 2; options[OPT_CBPPSI].bMultiFile = 1; @@ -489,52 +489,52 @@ void InitializeOptionsBinary(OPTIONS *options, fnReadOption fnRead[]) { * order modifications to the theory are added. */ - sprintf(options[OPT_LL13N0].cName, "dLL13N0"); - sprintf(options[OPT_LL13N0].cDescr, "Lee+Leung 2013 Mean Motion"); - sprintf(options[OPT_LL13N0].cDefault, "1 /yr"); - sprintf(options[OPT_LL13N0].cDimension, "time^-1"); + fvFormattedString(&options[OPT_LL13N0].cName, "dLL13N0"); + fvFormattedString(&options[OPT_LL13N0].cDescr, "Lee+Leung 2013 Mean Motion"); + fvFormattedString(&options[OPT_LL13N0].cDefault, "1 /yr"); + fvFormattedString(&options[OPT_LL13N0].cDimension, "time^-1"); options[OPT_LL13N0].dDefault = 1. / YEARSEC; options[OPT_LL13N0].iType = 2; options[OPT_LL13N0].bMultiFile = 1; options[OPT_LL13N0].dNeg = 1. / YEARSEC; - sprintf(options[OPT_LL13N0].cNeg, "/Year"); + fvFormattedString(&options[OPT_LL13N0].cNeg, "/Year"); fnRead[OPT_LL13N0] = &ReadLL13N0; - sprintf(options[OPT_LL13K0].cName, "dLL13K0"); - sprintf(options[OPT_LL13K0].cDescr, + fvFormattedString(&options[OPT_LL13K0].cName, "dLL13K0"); + fvFormattedString(&options[OPT_LL13K0].cDescr, "Lee+Leung 2013 Radial Epicyclic Frequency"); - sprintf(options[OPT_LL13K0].cDefault, "1 /yr"); - sprintf(options[OPT_LL13K0].cDimension, "time^-1"); + fvFormattedString(&options[OPT_LL13K0].cDefault, "1 /yr"); + fvFormattedString(&options[OPT_LL13K0].cDimension, "time^-1"); options[OPT_LL13K0].dDefault = 1. / YEARSEC; options[OPT_LL13K0].iType = 2; options[OPT_LL13K0].bMultiFile = 1; options[OPT_LL13K0].dNeg = 1. / YEARSEC; - sprintf(options[OPT_LL13K0].cNeg, "/Year"); + fvFormattedString(&options[OPT_LL13K0].cNeg, "/Year"); fnRead[OPT_LL13K0] = &ReadLL13K0; - sprintf(options[OPT_LL13V0].cName, "dLL13V0"); - sprintf(options[OPT_LL13V0].cDescr, + fvFormattedString(&options[OPT_LL13V0].cName, "dLL13V0"); + fvFormattedString(&options[OPT_LL13V0].cDescr, "Lee+Leung 2013 Radial Epicyclic Frequency"); - sprintf(options[OPT_LL13V0].cDefault, "1 /yr"); - sprintf(options[OPT_LL13V0].cDimension, "time^-1"); + fvFormattedString(&options[OPT_LL13V0].cDefault, "1 /yr"); + fvFormattedString(&options[OPT_LL13V0].cDimension, "time^-1"); options[OPT_LL13V0].dDefault = 1. / YEARSEC; options[OPT_LL13V0].iType = 2; options[OPT_LL13V0].bMultiFile = 1; options[OPT_LL13V0].dNeg = 1. / YEARSEC; - sprintf(options[OPT_LL13V0].cNeg, "/Year"); + fvFormattedString(&options[OPT_LL13V0].cNeg, "/Year"); fnRead[OPT_LL13V0] = &ReadLL13V0; - sprintf(options[OPT_HALTHOLMAN].cName, "bHaltHolmanUnstable"); - sprintf(options[OPT_HALTHOLMAN].cDescr, + fvFormattedString(&options[OPT_HALTHOLMAN].cName, "bHaltHolmanUnstable"); + fvFormattedString(&options[OPT_HALTHOLMAN].cDescr, "Halt when CBP is Holman-Wiegert Unstable?"); - sprintf(options[OPT_HALTHOLMAN].cDefault, "0"); + fvFormattedString(&options[OPT_HALTHOLMAN].cDefault, "0"); options[OPT_HALTHOLMAN].iType = 0; fnRead[OPT_HALTHOLMAN] = &ReadHaltHolmanUnstable; - sprintf(options[OPT_HALTROCHELOBE].cName, "bHaltRocheLobe"); - sprintf(options[OPT_HALTROCHELOBE].cDescr, + fvFormattedString(&options[OPT_HALTROCHELOBE].cName, "bHaltRocheLobe"); + fvFormattedString(&options[OPT_HALTROCHELOBE].cDescr, "Halt when Roche lobe crossing occurs?"); - sprintf(options[OPT_HALTROCHELOBE].cDefault, "0"); + fvFormattedString(&options[OPT_HALTROCHELOBE].cDefault, "0"); options[OPT_HALTROCHELOBE].iType = 0; fnRead[OPT_HALTROCHELOBE] = &ReadHaltRocheLobe; } @@ -1326,161 +1326,161 @@ void WriteCBPInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } void InitializeOutputBinary(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_FREEECC].cName, "FreeEcc"); - sprintf(output[OUT_FREEECC].cDescr, "CBP's Free Eccentricity in BINARY"); + fvFormattedString(&output[OUT_FREEECC].cName, "FreeEcc"); + fvFormattedString(&output[OUT_FREEECC].cDescr, "CBP's Free Eccentricity in BINARY"); output[OUT_FREEECC].bNeg = 0; output[OUT_FREEECC].iNum = 1; output[OUT_FREEECC].iModuleBit = BINARY; fnWrite[OUT_FREEECC] = &WriteFreeEccBinary; - sprintf(output[OUT_FREEINC].cName, "FreeInc"); - sprintf(output[OUT_FREEINC].cDescr, "CBP's Free Inclination in BINARY"); - sprintf(output[OUT_FREEINC].cNeg, "Deg"); + fvFormattedString(&output[OUT_FREEINC].cName, "FreeInc"); + fvFormattedString(&output[OUT_FREEINC].cDescr, "CBP's Free Inclination in BINARY"); + fvFormattedString(&output[OUT_FREEINC].cNeg, "Deg"); output[OUT_FREEINC].bNeg = 1; output[OUT_FREEINC].dNeg = 1. / DEGRAD; output[OUT_FREEINC].iNum = 1; output[OUT_FREEINC].iModuleBit = BINARY; fnWrite[OUT_FREEINC] = &WriteFreeIncBinary; - sprintf(output[OUT_CBPPHI].cName, "CBPPhi"); - sprintf(output[OUT_CBPPHI].cDescr, "CBP Orbital Azimuthal Angle in BINARY"); - sprintf(output[OUT_CBPPHI].cNeg, "Deg"); + fvFormattedString(&output[OUT_CBPPHI].cName, "CBPPhi"); + fvFormattedString(&output[OUT_CBPPHI].cDescr, "CBP Orbital Azimuthal Angle in BINARY"); + fvFormattedString(&output[OUT_CBPPHI].cNeg, "Deg"); output[OUT_CBPPHI].bNeg = 1; output[OUT_CBPPHI].dNeg = 1.0 / DEGRAD; output[OUT_CBPPHI].iNum = 1; output[OUT_CBPPHI].iModuleBit = BINARY; fnWrite[OUT_CBPPHI] = &WriteCBPPhiBinary; - sprintf(output[OUT_BINPRIPHI].cName, "BinPriPhi"); - sprintf(output[OUT_BINPRIPHI].cDescr, + fvFormattedString(&output[OUT_BINPRIPHI].cName, "BinPriPhi"); + fvFormattedString(&output[OUT_BINPRIPHI].cDescr, "Binary primary star azimuthal angle in BINARY"); - sprintf(output[OUT_BINPRIPHI].cNeg, "Deg"); + fvFormattedString(&output[OUT_BINPRIPHI].cNeg, "Deg"); output[OUT_BINPRIPHI].bNeg = 1; output[OUT_BINPRIPHI].dNeg = 1.0 / DEGRAD; output[OUT_BINPRIPHI].iNum = 1; output[OUT_BINPRIPHI].iModuleBit = BINARY; fnWrite[OUT_BINPRIPHI] = &WriteBinPriPhiBinary; - sprintf(output[OUT_BINSECPHI].cName, "BinSecPhi"); - sprintf(output[OUT_BINSECPHI].cDescr, + fvFormattedString(&output[OUT_BINSECPHI].cName, "BinSecPhi"); + fvFormattedString(&output[OUT_BINSECPHI].cDescr, "Binary secondary star azimuthal angle in BINARY"); - sprintf(output[OUT_BINSECPHI].cNeg, "Deg"); + fvFormattedString(&output[OUT_BINSECPHI].cNeg, "Deg"); output[OUT_BINSECPHI].bNeg = 1; output[OUT_BINSECPHI].dNeg = 1.0 / DEGRAD; output[OUT_BINSECPHI].iNum = 1; output[OUT_BINSECPHI].iModuleBit = BINARY; fnWrite[OUT_BINSECPHI] = &WriteBinSecPhiBinary; - sprintf(output[OUT_LL13N0].cName, "LL13N0"); - sprintf(output[OUT_LL13N0].cDescr, "CBP Mean Motion in BINARY"); - sprintf(output[OUT_LL13N0].cNeg, "1/year"); + fvFormattedString(&output[OUT_LL13N0].cName, "LL13N0"); + fvFormattedString(&output[OUT_LL13N0].cDescr, "CBP Mean Motion in BINARY"); + fvFormattedString(&output[OUT_LL13N0].cNeg, "1/year"); output[OUT_LL13N0].bNeg = 1; output[OUT_LL13N0].dNeg = 1. / YEARSEC; output[OUT_LL13N0].iNum = 1; output[OUT_LL13N0].iModuleBit = BINARY; fnWrite[OUT_LL13N0] = &WriteLL13N0Binary; - sprintf(output[OUT_LL13K0].cName, "LL13K0"); - sprintf(output[OUT_LL13K0].cDescr, + fvFormattedString(&output[OUT_LL13K0].cName, "LL13K0"); + fvFormattedString(&output[OUT_LL13K0].cDescr, "Leung+Lee 2013 Radial epicyclic frequency"); - sprintf(output[OUT_LL13K0].cNeg, "1/year"); + fvFormattedString(&output[OUT_LL13K0].cNeg, "1/year"); output[OUT_LL13K0].bNeg = 1; output[OUT_LL13K0].dNeg = 1. / YEARSEC; output[OUT_LL13K0].iNum = 1; output[OUT_LL13K0].iModuleBit = BINARY; fnWrite[OUT_LL13K0] = &WriteLL13K0Binary; - sprintf(output[OUT_LL13V0].cName, "LL13V0"); - sprintf(output[OUT_LL13V0].cDescr, + fvFormattedString(&output[OUT_LL13V0].cName, "LL13V0"); + fvFormattedString(&output[OUT_LL13V0].cDescr, "CBP vertical epicyclic frequency in BINARY"); - sprintf(output[OUT_LL13V0].cNeg, "1/year"); + fvFormattedString(&output[OUT_LL13V0].cNeg, "1/year"); output[OUT_LL13V0].bNeg = 1; output[OUT_LL13V0].dNeg = 1. / YEARSEC; output[OUT_LL13V0].iNum = 1; output[OUT_LL13V0].iModuleBit = BINARY; fnWrite[OUT_LL13V0] = &WriteLL13V0Binary; - sprintf(output[OUT_CBPR].cName, "CBPR"); - sprintf(output[OUT_CBPR].cDescr, "CBP's Orbital Radius in BINARY"); + fvFormattedString(&output[OUT_CBPR].cName, "CBPR"); + fvFormattedString(&output[OUT_CBPR].cDescr, "CBP's Orbital Radius in BINARY"); output[OUT_CBPR].bNeg = 1; - sprintf(output[OUT_CBPR].cNeg, "AU"); + fvFormattedString(&output[OUT_CBPR].cNeg, "AU"); output[OUT_CBPR].dNeg = 1.0 / AUM; output[OUT_CBPR].iNum = 1; output[OUT_CBPR].iModuleBit = BINARY; fnWrite[OUT_CBPR] = &WriteCBPRBinary; - sprintf(output[OUT_BINPRIR].cName, "BinPriR"); - sprintf(output[OUT_BINPRIR].cDescr, + fvFormattedString(&output[OUT_BINPRIR].cName, "BinPriR"); + fvFormattedString(&output[OUT_BINPRIR].cDescr, "Radial position of binary primary star for module BINARY"); output[OUT_BINPRIR].bNeg = 1; - sprintf(output[OUT_BINPRIR].cNeg, "AU"); + fvFormattedString(&output[OUT_BINPRIR].cNeg, "AU"); output[OUT_BINPRIR].dNeg = 1.0 / AUM; output[OUT_BINPRIR].iNum = 1; output[OUT_BINPRIR].iModuleBit = BINARY; fnWrite[OUT_BINPRIR] = &WriteBinPriRBinary; - sprintf(output[OUT_BINSECR].cName, "BinSecR"); - sprintf(output[OUT_BINSECR].cDescr, + fvFormattedString(&output[OUT_BINSECR].cName, "BinSecR"); + fvFormattedString(&output[OUT_BINSECR].cDescr, "Radial position of binary secondary star for module BINARY"); output[OUT_BINSECR].bNeg = 1; - sprintf(output[OUT_BINSECR].cNeg, "AU"); + fvFormattedString(&output[OUT_BINSECR].cNeg, "AU"); output[OUT_BINSECR].dNeg = 1.0 / AUM; output[OUT_BINSECR].iNum = 1; output[OUT_BINSECR].iModuleBit = BINARY; fnWrite[OUT_BINSECR] = &WriteBinSecRBinary; - sprintf(output[OUT_CBPR0].cName, "R0"); - sprintf(output[OUT_CBPR0].cDescr, + fvFormattedString(&output[OUT_CBPR0].cName, "R0"); + fvFormattedString(&output[OUT_CBPR0].cDescr, "CBP's Orbital Guiding Center Radius in BINARY"); output[OUT_CBPR0].bNeg = 1; - sprintf(output[OUT_CBPR0].cNeg, "AU"); + fvFormattedString(&output[OUT_CBPR0].cNeg, "AU"); output[OUT_CBPR0].dNeg = 1.0 / AUM; output[OUT_CBPR0].iNum = 1; output[OUT_CBPR0].iModuleBit = BINARY; fnWrite[OUT_CBPR0] = &WriteCBPR0Binary; - sprintf(output[OUT_CBPZ].cName, "CBPZ"); - sprintf( - output[OUT_CBPZ].cDescr, + fvFormattedString(&output[OUT_CBPZ].cName, "CBPZ"); + fvFormattedString( + &output[OUT_CBPZ].cDescr, "CBP's Orbital Cylindrical Height Out of the Orbital Plane in BINARY"); output[OUT_CBPZ].bNeg = 1; - sprintf(output[OUT_CBPZ].cNeg, "AU"); + fvFormattedString(&output[OUT_CBPZ].cNeg, "AU"); output[OUT_CBPZ].dNeg = 1.0 / AUM; output[OUT_CBPZ].iNum = 1; output[OUT_CBPZ].iModuleBit = BINARY; fnWrite[OUT_CBPZ] = &WriteCBPZBinary; - sprintf(output[OUT_CBPRDOT].cName, "CBPRDot"); - sprintf(output[OUT_CBPRDOT].cDescr, + fvFormattedString(&output[OUT_CBPRDOT].cName, "CBPRDot"); + fvFormattedString(&output[OUT_CBPRDOT].cDescr, "CBP's Radial Orbital Velocity in BINARY"); - sprintf(output[OUT_CBPRDOT].cNeg, "/day"); + fvFormattedString(&output[OUT_CBPRDOT].cNeg, "/day"); output[OUT_CBPRDOT].bNeg = 0; output[OUT_CBPRDOT].dNeg = DAYSEC; output[OUT_CBPRDOT].iNum = 1; output[OUT_CBPRDOT].iModuleBit = BINARY; fnWrite[OUT_CBPRDOT] = &WriteCBPRDotBinary; - sprintf(output[OUT_CBPZDOT].cName, "CBPZDot"); - sprintf(output[OUT_CBPZDOT].cDescr, "CBP's Z Orbital Velocity in BINARY"); - sprintf(output[OUT_CBPZDOT].cNeg, "/day"); + fvFormattedString(&output[OUT_CBPZDOT].cName, "CBPZDot"); + fvFormattedString(&output[OUT_CBPZDOT].cDescr, "CBP's Z Orbital Velocity in BINARY"); + fvFormattedString(&output[OUT_CBPZDOT].cNeg, "/day"); output[OUT_CBPZDOT].bNeg = 0; output[OUT_CBPZDOT].dNeg = DAYSEC; output[OUT_CBPZDOT].iNum = 1; output[OUT_CBPZDOT].iModuleBit = BINARY; fnWrite[OUT_CBPZDOT] = &WriteCBPZDotBinary; - sprintf(output[OUT_CBPPHIDOT].cName, "CBPPhiDot"); - sprintf(output[OUT_CBPPHIDOT].cDescr, + fvFormattedString(&output[OUT_CBPPHIDOT].cName, "CBPPhiDot"); + fvFormattedString(&output[OUT_CBPPHIDOT].cDescr, "CBP's Phi Angular Orbital Velocity in BINARY"); - sprintf(output[OUT_CBPPHIDOT].cNeg, "/day"); + fvFormattedString(&output[OUT_CBPPHIDOT].cNeg, "/day"); output[OUT_CBPPHIDOT].bNeg = 0; output[OUT_CBPPHIDOT].dNeg = DAYSEC; output[OUT_CBPPHIDOT].iNum = 1; output[OUT_CBPPHIDOT].iModuleBit = BINARY; fnWrite[OUT_CBPPHIDOT] = &WriteCBPPhiDotBinary; - sprintf(output[OUT_CBPINSOL].cName, "CBPInsol"); - sprintf(output[OUT_CBPINSOL].cDescr, + fvFormattedString(&output[OUT_CBPINSOL].cName, "CBPInsol"); + fvFormattedString(&output[OUT_CBPINSOL].cDescr, "CBP's binary Orbit-Averaged Insolation in BINARY"); output[OUT_CBPINSOL].bNeg = 0; output[OUT_CBPINSOL].iNum = 1; diff --git a/src/control.c b/src/control.c index 4b6854496..2bceb3e1b 100644 --- a/src/control.c +++ b/src/control.c @@ -868,32 +868,29 @@ void fprintd(FILE *fp, double x, int iExp, int iDig) { } void fvFormattedString(char **sString,const char* sFormattedString, ...) { - va_list vaArgs; + va_list vaArgs,vaArgsCopy; + va_start(vaArgs, sFormattedString); - - va_list vaArgsCopy; va_copy(vaArgsCopy, vaArgs); - // Determine the length of the formatted string - int iString = vsnprintf(NULL, 0, sFormattedString, vaArgs); - - // Allocate memory for the string - *sString = (char*)malloc((iString + 1) * sizeof(char)); + int iStringLength = vsnprintf(NULL, 0, sFormattedString, vaArgs) + 1; + va_end(vaArgs); + + if (*sString == NULL) { + *sString = (char*)malloc((iStringLength) * sizeof(char)); + } else { + realloc(sString, iStringLength* sizeof(char)); + } if (*sString == NULL) { - va_end(vaArgs); va_end(vaArgsCopy); fprintf(stderr,"ERROR: Unable to create formatted string in functionfvWriteString.\n"); exit(EXIT_EXE); } - // Fill the string with the formatted data using the copied va_list - vsnprintf(*sString, iString + 1, sFormattedString, vaArgsCopy); - - va_end(vaArgs); // Clean up the original va_list - va_end(vaArgsCopy); // Clean up the copied va_list + vsnprintf(*sString, iStringLength, sFormattedString, vaArgsCopy); + va_end(vaArgsCopy); } - /* * Unit Conversions */ @@ -922,19 +919,19 @@ double fdUnitsLength(int iType) { void fsUnitsLength(int iType, char cUnit[]) { if (iType == U_METER) { - sprintf(cUnit, "m"); + fvFormattedString(&cUnit, "m"); } else if (iType == U_CENTIMETER) { - sprintf(cUnit, "cm"); + fvFormattedString(&cUnit, "cm"); } else if (iType == U_KILOMETER) { - sprintf(cUnit, "km"); + fvFormattedString(&cUnit, "km"); } else if (iType == U_SOLARRADIUS) { - sprintf(cUnit, "Rsun"); + fvFormattedString(&cUnit, "Rsun"); } else if (iType == U_EARTHRADIUS) { - sprintf(cUnit, "Rearth"); + fvFormattedString(&cUnit, "Rearth"); } else if (iType == U_JUPRADIUS) { - sprintf(cUnit, "Rjupiter"); + fvFormattedString(&cUnit, "Rjupiter"); } else if (iType == U_AU) { - sprintf(cUnit, "au"); + fvFormattedString(&cUnit, "au"); } else { fprintf(stderr, "ERROR: Unknown iUnitLength %d.\n", iType); exit(EXIT_UNITS); @@ -961,15 +958,15 @@ double fdUnitsTime(int iType) { void fsUnitsTime(int iType, char cUnit[]) { if (iType == U_SECOND) { - sprintf(cUnit, "sec"); + fvFormattedString(&cUnit, "sec"); } else if (iType == U_DAY) { - sprintf(cUnit, "day"); + fvFormattedString(&cUnit, "day"); } else if (iType == U_YEAR) { - sprintf(cUnit, "year"); + fvFormattedString(&cUnit, "year"); } else if (iType == U_MYR) { - sprintf(cUnit, "Myr"); + fvFormattedString(&cUnit, "Myr"); } else if (iType == U_GYR) { - sprintf(cUnit, "Gyr"); + fvFormattedString(&cUnit, "Gyr"); } else { fprintf(stderr, "ERROR: Unknown iUnitTime: %d.\n", iType); exit(EXIT_UNITS); @@ -997,17 +994,17 @@ double fdUnitsMass(int iType) { void fsUnitsMass(int iType, char cUnit[]) { if (iType == U_KILOGRAM) { - sprintf(cUnit, "kg"); + fvFormattedString(&cUnit, "kg"); } else if (iType == U_GRAM) { - sprintf(cUnit, "gm"); + fvFormattedString(&cUnit, "gm"); } else if (iType == U_SOLARMASS) { - sprintf(cUnit, "Msun"); + fvFormattedString(&cUnit, "Msun"); } else if (iType == U_EARTHMASS) { - sprintf(cUnit, "Mearth"); + fvFormattedString(&cUnit, "Mearth"); } else if (iType == U_JUPITERMASS) { - sprintf(cUnit, "Mjupiter"); + fvFormattedString(&cUnit, "Mjupiter"); } else if (iType == U_NEPTUNEMASS) { - sprintf(cUnit, "Mneptune"); + fvFormattedString(&cUnit, "Mneptune"); } else { fprintf(stderr, "ERROR: Unknown iUnitMass: %d.\n", iType); @@ -1028,9 +1025,9 @@ double fdUnitsAngle(int iType) { void fsUnitsAngle(int iType, char cUnit[]) { if (iType == U_RADIANS) { - sprintf(cUnit, "rad"); + fvFormattedString(&cUnit, "rad"); } else if (iType == U_DEGREES) { - sprintf(cUnit, "deg"); + fvFormattedString(&cUnit, "deg"); } else { fprintf(stderr, "ERROR: Unknown Angle type %d\n.", iType); exit(EXIT_UNITS); @@ -1080,7 +1077,7 @@ void fsUnitsVel(UNITS *units, char cUnit[]) { void fsUnitsRate(int iType, char cUnit[]) { char cTmp[OPTLEN]; - sprintf(cUnit, "/"); + fvFormattedString(&cUnit, "/"); fsUnitsTime(iType, cTmp); strcat(cUnit, cTmp); } @@ -1204,11 +1201,11 @@ double fdUnitsTemp(double dTemp, int iOldType, int iNewType) { void fsUnitsTemp(int iType, char cUnit[]) { if (iType == U_KELVIN) { - sprintf(cUnit, "K"); + fvFormattedString(&cUnit, "K"); } else if (iType == U_CELSIUS) { - sprintf(cUnit, "Celsius"); + fvFormattedString(&cUnit, "Celsius"); } else if (iType == U_FARENHEIT) { - sprintf(cUnit, "F"); + fvFormattedString(&cUnit, "F"); } else { fprintf(stderr, "ERROR: Unknown iUnitTemp %d.\n", iType); exit(EXIT_UNITS); @@ -1218,11 +1215,11 @@ void fsUnitsTemp(int iType, char cUnit[]) { // XXX This looks fishy. Should time also be checked here void fsUnitsTempRate(int iType, char cUnit[]) { if (iType == U_KELVIN) { - sprintf(cUnit, "K/s"); + fvFormattedString(&cUnit, "K/s"); } else if (iType == U_CELSIUS) { - sprintf(cUnit, "C/s"); + fvFormattedString(&cUnit, "C/s"); } else if (iType == U_FARENHEIT) { - sprintf(cUnit, "F/s"); + fvFormattedString(&cUnit, "F/s"); } else { fprintf(stderr, "ERROR: Unknown iUnitTempRate %d.\n", iType); exit(EXIT_UNITS); diff --git a/src/distorb.c b/src/distorb.c index c9a7735d9..231c9785d 100644 --- a/src/distorb.c +++ b/src/distorb.c @@ -273,16 +273,16 @@ void ReadOrbitModel(BODY *body, CONTROL *control, FILES *files, void InitializeOptionsDistOrb(OPTIONS *options, fnReadOption fnRead[]) { - sprintf(options[OPT_DFCRIT].cName, "dDfcrit"); - sprintf(options[OPT_DFCRIT].cDescr, + fvFormattedString(&options[OPT_DFCRIT].cName, "dDfcrit"); + fvFormattedString(&options[OPT_DFCRIT].cDescr, "Tolerance parameter for recalculating semi-major axis functions"); - sprintf(options[OPT_DFCRIT].cDefault, "0.1"); - sprintf(options[OPT_DFCRIT].cDimension, "nd"); + fvFormattedString(&options[OPT_DFCRIT].cDefault, "0.1"); + fvFormattedString(&options[OPT_DFCRIT].cDimension, "nd"); options[OPT_DFCRIT].dDefault = 0.1; options[OPT_DFCRIT].iType = 2; options[OPT_DFCRIT].bMultiFile = 0; fnRead[OPT_DFCRIT] = &ReadDfCrit; - sprintf(options[OPT_DFCRIT].cLongDescr, + fvFormattedString(&options[OPT_DFCRIT].cLongDescr, "When running DistOrb with other modules that modify the semi-major " "axis,\n" "set his argument to be the maximum relative change in the Laplace\n" @@ -292,23 +292,23 @@ void InitializeOptionsDistOrb(OPTIONS *options, fnReadOption fnRead[]) { "gain in\n" "accuracy."); - sprintf(options[OPT_INVPLANE].cName, "bInvPlane"); - sprintf(options[OPT_INVPLANE].cDescr, + fvFormattedString(&options[OPT_INVPLANE].cName, "bInvPlane"); + fvFormattedString(&options[OPT_INVPLANE].cDescr, "Convert input coordinates to invariable plane coordinates"); - sprintf(options[OPT_INVPLANE].cDefault, "0"); + fvFormattedString(&options[OPT_INVPLANE].cDefault, "0"); options[OPT_INVPLANE].dDefault = 0; options[OPT_INVPLANE].iType = 0; options[OPT_INVPLANE].bMultiFile = 0; fnRead[OPT_INVPLANE] = &ReadInvPlane; - sprintf(options[OPT_ORBITMODEL].cName, "sOrbitModel"); - sprintf(options[OPT_ORBITMODEL].cDescr, + fvFormattedString(&options[OPT_ORBITMODEL].cName, "sOrbitModel"); + fvFormattedString(&options[OPT_ORBITMODEL].cDescr, "Orbit Model: LL2 [2nd order] RD4 [4th order]"); - sprintf(options[OPT_ORBITMODEL].cDefault, "rd4"); + fvFormattedString(&options[OPT_ORBITMODEL].cDefault, "rd4"); options[OPT_ORBITMODEL].dDefault = RD4; options[OPT_ORBITMODEL].iType = 3; fnRead[OPT_ORBITMODEL] = &ReadOrbitModel; - sprintf(options[OPT_ORBITMODEL].cLongDescr, + fvFormattedString(&options[OPT_ORBITMODEL].cLongDescr, "The secular orbital evolution model used with DistOrb. Option LL2 " "is the\n" "Laplace-Lagrange (eigenvalue) solution that is valid for small " @@ -326,41 +326,41 @@ void InitializeOptionsDistOrb(OPTIONS *options, fnReadOption fnRead[]) { "does not converge.", options[OPT_ORMAXECC].cName); - sprintf(options[OPT_ORMAXECC].cName, "bOverrideMaxEcc"); - sprintf(options[OPT_ORMAXECC].cDescr, + fvFormattedString(&options[OPT_ORMAXECC].cName, "bOverrideMaxEcc"); + fvFormattedString(&options[OPT_ORMAXECC].cDescr, "Override default maximum eccentricity (MAXORBDISTORB) in DistOrb?"); - sprintf(options[OPT_ORMAXECC].cDefault, "0"); + fvFormattedString(&options[OPT_ORMAXECC].cDefault, "0"); options[OPT_ORMAXECC].dDefault = 0; options[OPT_ORMAXECC].iType = 0; options[OPT_ORMAXECC].bMultiFile = 0; fnRead[OPT_ORMAXECC] = &ReadOverrideMaxEcc; - sprintf(options[OPT_ORBITMODEL].cLongDescr, + fvFormattedString(&options[OPT_ORBITMODEL].cLongDescr, "If RD4 is selected for %s, the code will halt if an eccentricity " "reaches\n" "~0.69 unless this flag is set to true.", options[OPT_ORBITMODEL].cName); - sprintf(options[OPT_HALTHILLSTAB].cName, "bHaltHillStab"); - sprintf(options[OPT_HALTHILLSTAB].cDescr, "Halt if Hill unstable?"); - sprintf(options[OPT_HALTHILLSTAB].cDefault, "0"); + fvFormattedString(&options[OPT_HALTHILLSTAB].cName, "bHaltHillStab"); + fvFormattedString(&options[OPT_HALTHILLSTAB].cDescr, "Halt if Hill unstable?"); + fvFormattedString(&options[OPT_HALTHILLSTAB].cDefault, "0"); options[OPT_HALTHILLSTAB].dDefault = 0; options[OPT_HALTHILLSTAB].iType = 0; options[OPT_HALTHILLSTAB].bMultiFile = 0; fnRead[OPT_HALTHILLSTAB] = &ReadHaltHillStab; - sprintf( - options[OPT_HALTHILLSTAB].cLongDescr, + fvFormattedString( + &options[OPT_HALTHILLSTAB].cLongDescr, "If two planets come within the Hill stability criterion, the code will" "halt if this parameter is set"); - sprintf(options[OPT_HALTCLOSEENC].cName, "bHaltCloseEnc"); - sprintf(options[OPT_HALTCLOSEENC].cDescr, "Halt if orbits get too close"); - sprintf(options[OPT_HALTCLOSEENC].cDefault, "0"); + fvFormattedString(&options[OPT_HALTCLOSEENC].cName, "bHaltCloseEnc"); + fvFormattedString(&options[OPT_HALTCLOSEENC].cDescr, "Halt if orbits get too close"); + fvFormattedString(&options[OPT_HALTCLOSEENC].cDefault, "0"); options[OPT_HALTCLOSEENC].dDefault = 0; options[OPT_HALTCLOSEENC].iType = 0; options[OPT_HALTCLOSEENC].bMultiFile = 0; fnRead[OPT_HALTCLOSEENC] = &ReadHaltCloseEnc; - sprintf( - options[OPT_HALTCLOSEENC].cLongDescr, + fvFormattedString( + &options[OPT_HALTCLOSEENC].cLongDescr, "Halt the code if the apocenter of an interior planets is less than 4 " "mutual Hill radii from the pericenter of an outer planet."); @@ -370,58 +370,58 @@ void InitializeOptionsDistOrb(OPTIONS *options, fnReadOption fnRead[]) { that are accurate to higher orders. One could conceivably fake the higher order evolution using only the LL2 solution by doing this. - sprintf(options[OPT_EIGENSET].cName,"bEigenSet"); - sprintf(options[OPT_EIGENSET].cDescr,"Read in eigenvalues/vectors for - DistOrb?"); sprintf(options[OPT_EIGENSET].cDefault,"0"); + fvFormattedString(options[OPT_EIGENSET].cName,"bEigenSet"); + fvFormattedString(options[OPT_EIGENSET].cDescr,"Read in eigenvalues/vectors for + DistOrb?"); fvFormattedString(options[OPT_EIGENSET].cDefault,"0"); options[OPT_EIGENSET].dDefault = 0; options[OPT_EIGENSET].iType = 0; options[OPT_EIGENSET].bMultiFile = 0; fnRead[OPT_EIGENSET] = &ReadEigenSet; - sprintf(options[OPT_EIGENVALUE].cName,"dEigenvalue"); - sprintf(options[OPT_EIGENVALUE].cDescr,"Set this to provide - eigenvalues/vectors at input"); sprintf(options[OPT_EIGENVALUE].cDefault,"0"); - sprintf(options[OPT_EIGENVALUE].cDimension,"nd"); + fvFormattedString(options[OPT_EIGENVALUE].cName,"dEigenvalue"); + fvFormattedString(options[OPT_EIGENVALUE].cDescr,"Set this to provide + eigenvalues/vectors at input"); fvFormattedString(options[OPT_EIGENVALUE].cDefault,"0"); + fvFormattedString(options[OPT_EIGENVALUE].cDimension,"nd"); options[OPT_EIGENVALUE].dDefault = 0; options[OPT_EIGENVALUE].iType = 0; options[OPT_EIGENVALUE].bMultiFile = 0; fnRead[OPT_EIGENVALUE] = &ReadEigenvalue; - sprintf(options[OPT_EIGENVECTOR].cName,"dEigenvector"); - sprintf(options[OPT_EIGENVECTOR].cDescr,"Set this to provide + fvFormattedString(options[OPT_EIGENVECTOR].cName,"dEigenvector"); + fvFormattedString(options[OPT_EIGENVECTOR].cDescr,"Set this to provide eigenvalues/vectors at input"); - sprintf(options[OPT_EIGENVECTOR].cDefault,"0"); - sprintf(options[OPT_EIGENVECTOR].cDimension,"nd"); + fvFormattedString(options[OPT_EIGENVECTOR].cDefault,"0"); + fvFormattedString(options[OPT_EIGENVECTOR].cDimension,"nd"); options[OPT_EIGENVECTOR].dDefault = 0; options[OPT_EIGENVECTOR].iType = 0; options[OPT_EIGENVECTOR].bMultiFile = 0; fnRead[OPT_EIGENVECTOR] = &ReadEigenvector; */ - sprintf(options[OPT_OUTPUTLAPL].cName, "bOutputLapl"); - sprintf(options[OPT_OUTPUTLAPL].cDescr, + fvFormattedString(&options[OPT_OUTPUTLAPL].cName, "bOutputLapl"); + fvFormattedString(&options[OPT_OUTPUTLAPL].cDescr, "Output Laplace functions and related data?"); - sprintf(options[OPT_OUTPUTLAPL].cDefault, "0"); + fvFormattedString(&options[OPT_OUTPUTLAPL].cDefault, "0"); options[OPT_OUTPUTLAPL].dDefault = 0; options[OPT_OUTPUTLAPL].iType = 0; options[OPT_OUTPUTLAPL].bMultiFile = 0; fnRead[OPT_OUTPUTLAPL] = &ReadOutputLapl; - sprintf( - options[OPT_OUTPUTLAPL].cLongDescr, + fvFormattedString( + &options[OPT_OUTPUTLAPL].cLongDescr, "Write files that contain the Laplace coefficients and their " "derivatives\n" "in DistOrb. This file can be used to check that they are recomputed \n" "frequently enough when damping (e.g. EqTide) is included."); - sprintf(options[OPT_OUTPUTEIGEN].cName, "bOutputEigen"); - sprintf(options[OPT_OUTPUTEIGEN].cDescr, "Output Eigenvalues?"); - sprintf(options[OPT_OUTPUTEIGEN].cDefault, "0"); + fvFormattedString(&options[OPT_OUTPUTEIGEN].cName, "bOutputEigen"); + fvFormattedString(&options[OPT_OUTPUTEIGEN].cDescr, "Output Eigenvalues?"); + fvFormattedString(&options[OPT_OUTPUTEIGEN].cDefault, "0"); options[OPT_OUTPUTEIGEN].dDefault = 0; options[OPT_OUTPUTEIGEN].iType = 0; options[OPT_OUTPUTEIGEN].bMultiFile = 0; fnRead[OPT_OUTPUTEIGEN] = &ReadOutputEigen; - sprintf( - options[OPT_OUTPUTLAPL].cLongDescr, + fvFormattedString( + &options[OPT_OUTPUTLAPL].cLongDescr, "Write special files that contain the eigenvalues and eigenvectors of " "the\n" "system with DistOrb. In the LL2 solution, these are already computed. " @@ -1752,19 +1752,19 @@ int fbCheckMutualIncDistorb(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, /************* DISTORB Outputs ******************/ void WriteEigen(CONTROL *control, SYSTEM *system) { - char cEccEigFile[2 * NAMELEN], cIncEigFile[2 * NAMELEN]; + char *sEccEigFile, *sIncEigFile; int iBody; FILE *fecc, *finc; - sprintf(cEccEigFile, "%s.Ecc.Eigen", system->cName); - sprintf(cIncEigFile, "%s.Inc.Eigen", system->cName); + fvFormattedString(&sEccEigFile, "%s.Ecc.Eigen", system->cName); + fvFormattedString(&sIncEigFile, "%s.Inc.Eigen", system->cName); if (control->Evolve.dTime == 0) { - fecc = fopen(cEccEigFile, "w"); - finc = fopen(cIncEigFile, "w"); + fecc = fopen(sEccEigFile, "w"); + finc = fopen(sIncEigFile, "w"); } else { - fecc = fopen(cEccEigFile, "a"); - finc = fopen(cIncEigFile, "a"); + fecc = fopen(sEccEigFile, "a"); + finc = fopen(sIncEigFile, "a"); } fprintd(fecc, control->Evolve.dTime / fdUnitsTime(control->Units[1].iTime), @@ -2101,104 +2101,104 @@ void InitializeOutputDistOrb(OUTPUT *output, fnWriteOutput fnWrite[]) { // XXX Many of these should be moved to OutputGeneral as they apply to both // DistOrb and SpiNBody - sprintf(output[OUT_DECCDTDISTORB].cName, "DEccDtDistOrb"); - sprintf(output[OUT_DECCDTDISTORB].cDescr, + fvFormattedString(&output[OUT_DECCDTDISTORB].cName, "DEccDtDistOrb"); + fvFormattedString(&output[OUT_DECCDTDISTORB].cDescr, "Body's eccentricity derivative in DistOrb"); - sprintf(output[OUT_DECCDTDISTORB].cNeg, "1/year"); + fvFormattedString(&output[OUT_DECCDTDISTORB].cNeg, "1/year"); output[OUT_DECCDTDISTORB].bNeg = 1; output[OUT_DECCDTDISTORB].dNeg = YEARSEC; output[OUT_DECCDTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DECCDTDISTORB] = &WriteBodyDEccDtDistOrb; - sprintf(output[OUT_DSINCDTDISTORB].cName, "DSincDtDistOrb"); - sprintf(output[OUT_DSINCDTDISTORB].cDescr, + fvFormattedString(&output[OUT_DSINCDTDISTORB].cName, "DSincDtDistOrb"); + fvFormattedString(&output[OUT_DSINCDTDISTORB].cDescr, "Body's sin(Inc/2) derivative in DistOrb"); - sprintf(output[OUT_DSINCDTDISTORB].cNeg, "1/year"); + fvFormattedString(&output[OUT_DSINCDTDISTORB].cNeg, "1/year"); output[OUT_DSINCDTDISTORB].bNeg = 1; output[OUT_DSINCDTDISTORB].dNeg = YEARSEC; output[OUT_DSINCDTDISTORB].iNum = 1; output[OUT_DSINCDTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DSINCDTDISTORB] = &WriteBodyDSincDtDistOrb; - sprintf(output[OUT_DINCDTDISTORB].cName, "DIncDtDistOrb"); - sprintf(output[OUT_DINCDTDISTORB].cDescr, + fvFormattedString(&output[OUT_DINCDTDISTORB].cName, "DIncDtDistOrb"); + fvFormattedString(&output[OUT_DINCDTDISTORB].cDescr, "Body's inclination derivative in DistOrb"); - sprintf(output[OUT_DINCDTDISTORB].cNeg, "deg/year"); + fvFormattedString(&output[OUT_DINCDTDISTORB].cNeg, "deg/year"); output[OUT_DINCDTDISTORB].bNeg = 1; output[OUT_DINCDTDISTORB].dNeg = YEARSEC / DEGRAD; output[OUT_DINCDTDISTORB].iNum = 1; output[OUT_DINCDTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DINCDTDISTORB] = &WriteBodyDIncDtDistOrb; - sprintf(output[OUT_DLONGPDTDISTORB].cName, "DLongPDtDistOrb"); - sprintf(output[OUT_DLONGPDTDISTORB].cDescr, + fvFormattedString(&output[OUT_DLONGPDTDISTORB].cName, "DLongPDtDistOrb"); + fvFormattedString(&output[OUT_DLONGPDTDISTORB].cDescr, "Body's longitude of pericenter derivative in DistOrb"); - sprintf(output[OUT_DLONGPDTDISTORB].cNeg, "deg/yr"); + fvFormattedString(&output[OUT_DLONGPDTDISTORB].cNeg, "deg/yr"); output[OUT_DLONGPDTDISTORB].bNeg = 1; output[OUT_DLONGPDTDISTORB].dNeg = YEARSEC / DEGRAD; output[OUT_DLONGPDTDISTORB].iNum = 1; output[OUT_DLONGPDTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DLONGPDTDISTORB] = &WriteBodyDLongPDtDistOrb; - sprintf(output[OUT_DLONGADTDISTORB].cName, "DLongADtDistOrb"); - sprintf(output[OUT_DLONGADTDISTORB].cDescr, + fvFormattedString(&output[OUT_DLONGADTDISTORB].cName, "DLongADtDistOrb"); + fvFormattedString(&output[OUT_DLONGADTDISTORB].cDescr, "Body's longitude of ascending node derivative in DistOrb"); - sprintf(output[OUT_DLONGADTDISTORB].cNeg, "deg/yr"); + fvFormattedString(&output[OUT_DLONGADTDISTORB].cNeg, "deg/yr"); output[OUT_DLONGADTDISTORB].bNeg = 1; output[OUT_DLONGADTDISTORB].dNeg = YEARSEC / DEGRAD; output[OUT_DLONGADTDISTORB].iNum = 1; output[OUT_DLONGADTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DLONGADTDISTORB] = &WriteBodyDLongADtDistOrb; - sprintf(output[OUT_SINC].cName, "Sinc"); - sprintf(output[OUT_SINC].cDescr, "Body's sin(Inc/2) in DistOrb"); + fvFormattedString(&output[OUT_SINC].cName, "Sinc"); + fvFormattedString(&output[OUT_SINC].cDescr, "Body's sin(Inc/2) in DistOrb"); output[OUT_SINC].iNum = 1; output[OUT_SINC].iModuleBit = DISTORB; fnWrite[OUT_SINC] = &WriteBodySinc; - sprintf(output[OUT_PINC].cName, "Pinc"); - sprintf(output[OUT_PINC].cDescr, "Body's Poincare p in DistOrb"); + fvFormattedString(&output[OUT_PINC].cName, "Pinc"); + fvFormattedString(&output[OUT_PINC].cDescr, "Body's Poincare p in DistOrb"); output[OUT_PINC].iNum = 1; output[OUT_PINC].iModuleBit = DISTORB; fnWrite[OUT_PINC] = &WriteBodyPinc; - sprintf(output[OUT_QINC].cName, "Qinc"); - sprintf(output[OUT_QINC].cDescr, "Body's Poincare q in DistOrb"); + fvFormattedString(&output[OUT_QINC].cName, "Qinc"); + fvFormattedString(&output[OUT_QINC].cDescr, "Body's Poincare q in DistOrb"); output[OUT_QINC].iNum = 1; output[OUT_QINC].iModuleBit = DISTORB; fnWrite[OUT_QINC] = &WriteBodyQinc; - sprintf(output[OUT_DHECCDTDISTORB].cName, "DHeccDtDistOrb"); - sprintf(output[OUT_DHECCDTDISTORB].cDescr, + fvFormattedString(&output[OUT_DHECCDTDISTORB].cName, "DHeccDtDistOrb"); + fvFormattedString(&output[OUT_DHECCDTDISTORB].cDescr, "Body's Poincare h derivative in DistOrb"); - sprintf(output[OUT_DHECCDTDISTORB].cNeg, "1/year"); + fvFormattedString(&output[OUT_DHECCDTDISTORB].cNeg, "1/year"); output[OUT_DHECCDTDISTORB].bNeg = 1; output[OUT_DHECCDTDISTORB].dNeg = YEARSEC; output[OUT_DHECCDTDISTORB].iNum = 1; output[OUT_DHECCDTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DHECCDTDISTORB] = &WriteBodyDHeccDtDistOrb; - sprintf(output[OUT_DKECCDTDISTORB].cName, "DKeccDtDistOrb"); - sprintf(output[OUT_DKECCDTDISTORB].cDescr, "Body's Poincare k in DistOrb"); - sprintf(output[OUT_DKECCDTDISTORB].cNeg, "1/year"); + fvFormattedString(&output[OUT_DKECCDTDISTORB].cName, "DKeccDtDistOrb"); + fvFormattedString(&output[OUT_DKECCDTDISTORB].cDescr, "Body's Poincare k in DistOrb"); + fvFormattedString(&output[OUT_DKECCDTDISTORB].cNeg, "1/year"); output[OUT_DKECCDTDISTORB].bNeg = 1; output[OUT_DKECCDTDISTORB].dNeg = YEARSEC; output[OUT_DKECCDTDISTORB].iNum = 1; output[OUT_DKECCDTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DKECCDTDISTORB] = &WriteBodyDKeccDtDistOrb; - sprintf(output[OUT_DPINCDTDISTORB].cName, "DPincDtDistOrb"); - sprintf(output[OUT_DPINCDTDISTORB].cDescr, "Body's Poincare p in DistOrb"); - sprintf(output[OUT_DPINCDTDISTORB].cNeg, "1/year"); + fvFormattedString(&output[OUT_DPINCDTDISTORB].cName, "DPincDtDistOrb"); + fvFormattedString(&output[OUT_DPINCDTDISTORB].cDescr, "Body's Poincare p in DistOrb"); + fvFormattedString(&output[OUT_DPINCDTDISTORB].cNeg, "1/year"); output[OUT_DPINCDTDISTORB].bNeg = 1; output[OUT_DPINCDTDISTORB].dNeg = YEARSEC; output[OUT_DPINCDTDISTORB].iNum = 1; output[OUT_DPINCDTDISTORB].iModuleBit = DISTORB; fnWrite[OUT_DPINCDTDISTORB] = &WriteBodyDPincDtDistOrb; - sprintf(output[OUT_DQINCDTDISTORB].cName, "DQincDtDistOrb"); - sprintf(output[OUT_DQINCDTDISTORB].cDescr, "Body's Poincare q in DistOrb"); - sprintf(output[OUT_DQINCDTDISTORB].cNeg, "1/year"); + fvFormattedString(&output[OUT_DQINCDTDISTORB].cName, "DQincDtDistOrb"); + fvFormattedString(&output[OUT_DQINCDTDISTORB].cDescr, "Body's Poincare q in DistOrb"); + fvFormattedString(&output[OUT_DQINCDTDISTORB].cNeg, "1/year"); output[OUT_DQINCDTDISTORB].bNeg = 1; output[OUT_DQINCDTDISTORB].dNeg = YEARSEC; output[OUT_DQINCDTDISTORB].iNum = 1; diff --git a/src/distrot.c b/src/distrot.c index c9895e0f4..d2459f296 100644 --- a/src/distrot.c +++ b/src/distrot.c @@ -151,32 +151,32 @@ void ReadFileOrbitData(BODY *body, CONTROL *control, FILES *files, strcpy(body[iFile - 1].cFileOrbitData, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else if (iFile > 0) { - // sprintf(body[iFile-1].cFileOrbitData,"%s",options[OPT_FILEORBITDATA].cDefault); + // fvFormattedString(body[iFile-1].cFileOrbitData,"%s",options[OPT_FILEORBITDATA].cDefault); strcpy(body[iFile - 1].cFileOrbitData, options->cDefault); } } void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { - sprintf(options[OPT_DYNELLIP].cName, "dDynEllip"); - sprintf(options[OPT_DYNELLIP].cDescr, "Planet's dynamical ellipticity"); - sprintf(options[OPT_DYNELLIP].cDefault, "0.00328"); - sprintf(options[OPT_DYNELLIP].cDimension, "nd"); + fvFormattedString(&options[OPT_DYNELLIP].cName, "dDynEllip"); + 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; options[OPT_DYNELLIP].iType = 2; options[OPT_DYNELLIP].bMultiFile = 1; fnRead[OPT_DYNELLIP] = &ReadDynEllip; - sprintf(options[OPT_CALCDYNELLIP].cName, "bCalcDynEllip"); - sprintf(options[OPT_CALCDYNELLIP].cDescr, + fvFormattedString(&options[OPT_CALCDYNELLIP].cName, "bCalcDynEllip"); + fvFormattedString(&options[OPT_CALCDYNELLIP].cDescr, "Calculate dynamical ellipticity from RotRate"); - sprintf(options[OPT_CALCDYNELLIP].cDefault, "0"); + fvFormattedString(&options[OPT_CALCDYNELLIP].cDefault, "0"); options[OPT_CALCDYNELLIP].dDefault = 0; options[OPT_CALCDYNELLIP].iType = 0; options[OPT_CALCDYNELLIP].bMultiFile = 1; fnRead[OPT_CALCDYNELLIP] = &ReadCalcDynEllip; - sprintf( - options[OPT_CALCDYNELLIP].cLongDescr, + fvFormattedString( + &options[OPT_CALCDYNELLIP].cLongDescr, "In DistRot, set this to 1 to force the equilibrium shape (dynamical \n" "ellipticity) to be calculated based on the current rotation rate and " "\n" @@ -189,54 +189,54 @@ void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_DYNELLIP].cName // XXX Check this! ); - sprintf(options[OPT_FORCEPRECRATE].cName, "bForcePrecRate"); - sprintf(options[OPT_FORCEPRECRATE].cDescr, + fvFormattedString(&options[OPT_FORCEPRECRATE].cName, "bForcePrecRate"); + fvFormattedString(&options[OPT_FORCEPRECRATE].cDescr, "Set the axial precession to a fixed rate?"); - sprintf(options[OPT_FORCEPRECRATE].cDefault, "0"); + 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; - sprintf(options[OPT_FORCEPRECRATE].cLongDescr, + 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."); - sprintf(options[OPT_PRECRATE].cName, "dPrecRate"); - sprintf(options[OPT_PRECRATE].cDescr, + fvFormattedString(&options[OPT_PRECRATE].cName, "dPrecRate"); + fvFormattedString(&options[OPT_PRECRATE].cDescr, "Fixed rate of axial precession (angle/s)"); - sprintf(options[OPT_PRECRATE].cDefault, "7.7261e-12"); - sprintf(options[OPT_PRECRATE].cDimension, "angle/time"); + 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; - sprintf(options[OPT_READORBITDATA].cLongDescr, + 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); - sprintf(options[OPT_SPECMOMINERTIA].cName, "dSpecMomInertia"); - sprintf(options[OPT_SPECMOMINERTIA].cDescr, + fvFormattedString(&options[OPT_SPECMOMINERTIA].cName, "dSpecMomInertia"); + fvFormattedString(&options[OPT_SPECMOMINERTIA].cDescr, "Specific moment of inertia of polar axis"); - sprintf(options[OPT_SPECMOMINERTIA].cDefault, "0.33"); - sprintf(options[OPT_SPECMOMINERTIA].cDimension, "nd"); + fvFormattedString(&options[OPT_SPECMOMINERTIA].cDefault, "0.33"); + fvFormattedString(&options[OPT_SPECMOMINERTIA].cDimension, "nd"); options[OPT_SPECMOMINERTIA].dDefault = 0.33; options[OPT_SPECMOMINERTIA].iType = 2; options[OPT_SPECMOMINERTIA].bMultiFile = 1; fnRead[OPT_SPECMOMINERTIA] = &ReadSpecMomInertia; - sprintf(options[OPT_FILEORBITDATA].cName, "sFileOrbitData"); + fvFormattedString(&options[OPT_FILEORBITDATA].cName, "sFileOrbitData"); // Define OPT_READORBITDATA so it can be used in the long help - sprintf(options[OPT_READORBITDATA].cName, "bReadOrbitData"); - sprintf(options[OPT_FILEORBITDATA].cDescr, + fvFormattedString(&options[OPT_READORBITDATA].cName, "bReadOrbitData"); + fvFormattedString(&options[OPT_FILEORBITDATA].cDescr, "Name of file containing orbit time series"); - sprintf(options[OPT_FILEORBITDATA].cDefault, "orbit.txt"); + fvFormattedString(&options[OPT_FILEORBITDATA].cDefault, "orbit.txt"); options[OPT_FILEORBITDATA].iType = 3; fnRead[OPT_FILEORBITDATA] = &ReadFileOrbitData; - sprintf( - options[OPT_FILEORBITDATA].cLongDescr, + fvFormattedString( + &options[OPT_FILEORBITDATA].cLongDescr, "File containing pre-computed orbital data. The file must have the \n" "following format: Time SemiMajorAxis Eccentricity Inclination \n" "ArgPericenter LongAscNode MeanAnomaly. The units of those \n" @@ -249,14 +249,14 @@ void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FILEORBITDATA].cName, options[OPT_READORBITDATA].cName); // cName defined above - sprintf(options[OPT_READORBITDATA].cDescr, + fvFormattedString(&options[OPT_READORBITDATA].cDescr, "Read in orbital data for use with distrot?"); - sprintf(options[OPT_READORBITDATA].cDefault, "0"); + 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; - sprintf(options[OPT_READORBITDATA].cLongDescr, + 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" @@ -1486,7 +1486,7 @@ void WriteDynEllip(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } else { *dTmp = -1; } - sprintf(cUnit, "%s", ""); + fvFormattedString(&cUnit, "%s", ""); } void WritePrecFNat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1507,122 +1507,122 @@ void WritePrecFNat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_DOBLDTDISTROT].cName, "DOblDtDistRot"); - sprintf(output[OUT_DOBLDTDISTROT].cDescr, "Body's dobl/dt in DistRot"); - sprintf(output[OUT_DOBLDTDISTROT].cNeg, "deg/year"); + fvFormattedString(&output[OUT_DOBLDTDISTROT].cName, "DOblDtDistRot"); + 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; output[OUT_DOBLDTDISTROT].iNum = 1; output[OUT_DOBLDTDISTROT].iModuleBit = DISTROT; fnWrite[OUT_DOBLDTDISTROT] = &WriteBodyDOblDtDistRot; - sprintf(output[OUT_DPRECADTDISTROT].cName, "DPrecADtDistRot"); - sprintf(output[OUT_DPRECADTDISTROT].cDescr, "Body's dpA/dt in DistRot"); - sprintf(output[OUT_DPRECADTDISTROT].cNeg, "deg/year"); + fvFormattedString(&output[OUT_DPRECADTDISTROT].cName, "DPrecADtDistRot"); + 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; output[OUT_DPRECADTDISTROT].iNum = 1; output[OUT_DPRECADTDISTROT].iModuleBit = DISTROT; fnWrite[OUT_DPRECADTDISTROT] = &WriteBodyDPrecADtDistRot; - sprintf(output[OUT_DXOBLDTDISTROT].cName, "DXoblDtDistRot"); - sprintf(output[OUT_DXOBLDTDISTROT].cDescr, "Body's dXobl/dt in DistRot"); - sprintf(output[OUT_DXOBLDTDISTROT].cNeg, "1/year"); + fvFormattedString(&output[OUT_DXOBLDTDISTROT].cName, "DXoblDtDistRot"); + 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; output[OUT_DXOBLDTDISTROT].iNum = 1; output[OUT_DXOBLDTDISTROT].iModuleBit = DISTROT; fnWrite[OUT_DXOBLDTDISTROT] = &WriteBodyDXoblDtDistRot; - sprintf(output[OUT_DYOBLDTDISTROT].cName, "DYoblDtDistRot"); - sprintf(output[OUT_DYOBLDTDISTROT].cDescr, "Body's dYobl/dt in DistRot"); - sprintf(output[OUT_DYOBLDTDISTROT].cNeg, "1/year"); + fvFormattedString(&output[OUT_DYOBLDTDISTROT].cName, "DYoblDtDistRot"); + 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; output[OUT_DYOBLDTDISTROT].iNum = 1; output[OUT_DYOBLDTDISTROT].iModuleBit = DISTROT; fnWrite[OUT_DYOBLDTDISTROT] = &WriteBodyDYoblDtDistRot; - sprintf(output[OUT_DZOBLDTDISTROT].cName, "DZoblDtDistRot"); - sprintf(output[OUT_DZOBLDTDISTROT].cDescr, "Body's dZobl/dt in DistRot"); - sprintf(output[OUT_DZOBLDTDISTROT].cNeg, "1/year"); + fvFormattedString(&output[OUT_DZOBLDTDISTROT].cName, "DZoblDtDistRot"); + 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; output[OUT_DZOBLDTDISTROT].iNum = 1; output[OUT_DZOBLDTDISTROT].iModuleBit = DISTROT; fnWrite[OUT_DZOBLDTDISTROT] = &WriteBodyDZoblDtDistRot; - sprintf(output[OUT_XOBLTIMEDISTROT].cName, "XoblTimeDistRot"); - sprintf(output[OUT_XOBLTIMEDISTROT].cDescr, "Xobl timescale in DistRot"); - sprintf(output[OUT_XOBLTIMEDISTROT].cNeg, "year"); + fvFormattedString(&output[OUT_XOBLTIMEDISTROT].cName, "XoblTimeDistRot"); + 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; output[OUT_XOBLTIMEDISTROT].iNum = 1; output[OUT_XOBLTIMEDISTROT].iModuleBit = DISTROT; fnWrite[OUT_XOBLTIMEDISTROT] = &WriteXoblTimeDistRot; - sprintf(output[OUT_YOBLTIMEDISTROT].cName, "YoblTimeDistRot"); - sprintf(output[OUT_YOBLTIMEDISTROT].cDescr, "Yobl timescale in DistRot"); - sprintf(output[OUT_YOBLTIMEDISTROT].cNeg, "year"); + fvFormattedString(&output[OUT_YOBLTIMEDISTROT].cName, "YoblTimeDistRot"); + 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; output[OUT_YOBLTIMEDISTROT].iNum = 1; output[OUT_YOBLTIMEDISTROT].iModuleBit = DISTROT; fnWrite[OUT_YOBLTIMEDISTROT] = &WriteYoblTimeDistRot; - sprintf(output[OUT_ZOBLTIMEDISTROT].cName, "ZoblTimeDistRot"); - sprintf(output[OUT_ZOBLTIMEDISTROT].cDescr, "Zobl timescale in DistRot"); - sprintf(output[OUT_ZOBLTIMEDISTROT].cNeg, "year"); + fvFormattedString(&output[OUT_ZOBLTIMEDISTROT].cName, "ZoblTimeDistRot"); + 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; output[OUT_ZOBLTIMEDISTROT].iNum = 1; output[OUT_ZOBLTIMEDISTROT].iModuleBit = DISTROT; fnWrite[OUT_ZOBLTIMEDISTROT] = &WriteZoblTimeDistRot; - sprintf(output[OUT_OBLTIMEDISTROT].cName, "OblTimeDistRot"); - sprintf(output[OUT_OBLTIMEDISTROT].cDescr, "Obliquity timescale in DistRot"); - sprintf(output[OUT_OBLTIMEDISTROT].cNeg, "year"); + fvFormattedString(&output[OUT_OBLTIMEDISTROT].cName, "OblTimeDistRot"); + 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; output[OUT_OBLTIMEDISTROT].iNum = 1; output[OUT_OBLTIMEDISTROT].iModuleBit = DISTROT; fnWrite[OUT_OBLTIMEDISTROT] = &WriteOblTimeDistRot; - sprintf(output[OUT_PRECATIMEDISTROT].cName, "PrecATimeDistRot"); - sprintf(output[OUT_PRECATIMEDISTROT].cDescr, + fvFormattedString(&output[OUT_PRECATIMEDISTROT].cName, "PrecATimeDistRot"); + fvFormattedString(&output[OUT_PRECATIMEDISTROT].cDescr, "Axial precession timescale in DistRot"); - sprintf(output[OUT_PRECATIMEDISTROT].cNeg, "year"); + fvFormattedString(&output[OUT_PRECATIMEDISTROT].cNeg, "year"); output[OUT_PRECATIMEDISTROT].bNeg = 1; output[OUT_PRECATIMEDISTROT].dNeg = 1. / YEARSEC; output[OUT_PRECATIMEDISTROT].iNum = 1; output[OUT_PRECATIMEDISTROT].iModuleBit = DISTROT; fnWrite[OUT_PRECATIMEDISTROT] = &WritePrecATimeDistRot; - sprintf(output[OUT_CASS1].cName, "CassiniOne"); - sprintf(output[OUT_CASS1].cDescr, + fvFormattedString(&output[OUT_CASS1].cName, "CassiniOne"); + 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; - sprintf(output[OUT_CASS2].cName, "CassiniTwo"); - sprintf(output[OUT_CASS2].cDescr, + fvFormattedString(&output[OUT_CASS2].cName, "CassiniTwo"); + 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; - sprintf(output[OUT_DYNELLIP].cName, "DynEllip"); - sprintf(output[OUT_DYNELLIP].cDescr, "dynamical ellipticity of planet"); + fvFormattedString(&output[OUT_DYNELLIP].cName, "DynEllip"); + 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; - sprintf(output[OUT_PRECFNAT].cName, "PrecFNat"); - sprintf(output[OUT_PRECFNAT].cDescr, "natural precession freq of planet"); + fvFormattedString(&output[OUT_PRECFNAT].cName, "PrecFNat"); + 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 00af30eeb..2ab163f33 100644 --- a/src/eqtide.c +++ b/src/eqtide.c @@ -718,14 +718,14 @@ void ReadEqtideEnvTides(BODY *body, CONTROL *control, FILES *files, void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { - sprintf(options[OPT_DISCRETEROT].cName, "bDiscreteRot"); - sprintf(options[OPT_DISCRETEROT].cDescr, + fvFormattedString(&options[OPT_DISCRETEROT].cName, "bDiscreteRot"); + fvFormattedString(&options[OPT_DISCRETEROT].cDescr, "Use Discrete Rotation Model (Phase lag only)"); - sprintf(options[OPT_DISCRETEROT].cDefault, "1"); + fvFormattedString(&options[OPT_DISCRETEROT].cDefault, "1"); options[OPT_DISCRETEROT].iType = 0; fnRead[OPT_DISCRETEROT] = &ReadDiscreteRot; - sprintf( - options[OPT_DISCRETEROT].cLongDescr, + fvFormattedString( + &options[OPT_DISCRETEROT].cLongDescr, "In the CPL model of EqTide, this option toggles between two ways in \n" "which the rotation rate behaves once it has damped to equilibrium. \n" "The rigorous model only has two states: 1:1 and 3:2 frequency ratios, " @@ -739,13 +739,13 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { "the \n" "mean motion."); - sprintf(options[OPT_FIXORBIT].cName, "bFixOrbit"); - sprintf(options[OPT_FIXORBIT].cDescr, "Fix Orbital Elements?"); - sprintf(options[OPT_FIXORBIT].cDefault, "0"); + fvFormattedString(&options[OPT_FIXORBIT].cName, "bFixOrbit"); + fvFormattedString(&options[OPT_FIXORBIT].cDescr, "Fix Orbital Elements?"); + fvFormattedString(&options[OPT_FIXORBIT].cDefault, "0"); options[OPT_FIXORBIT].iType = 0; options[OPT_FIXORBIT].bMultiFile = 1; fnRead[OPT_FIXORBIT] = &ReadFixOrbit; - sprintf(options[OPT_FIXORBIT].cLongDescr, + 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 " @@ -754,18 +754,18 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { "eccentricity. \n" "(Although a bFixEcc option would probably be better!)\n"); - sprintf(options[OPT_MAXLOCKDIFF].cName, "dMaxLockDiff"); - sprintf(options[OPT_FORCEEQSPIN].cName, "bForceEqSpin"); // for LongDescr - sprintf(options[OPT_MAXLOCKDIFF].cDescr, + 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"); - sprintf(options[OPT_MAXLOCKDIFF].cDefault, "0"); - sprintf(options[OPT_MAXLOCKDIFF].cDimension, "nd"); + 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; - sprintf(options[OPT_MAXLOCKDIFF].cLongDescr, + 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 " @@ -774,13 +774,13 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FORCEEQSPIN].cName, options[OPT_FORCEEQSPIN].cName); // cName defined above - sprintf(options[OPT_FORCEEQSPIN].cDescr, "Force Spin Rate to Equilibrium?"); - sprintf(options[OPT_FORCEEQSPIN].cDefault, "0"); + 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; fnRead[OPT_FORCEEQSPIN] = &ReadForceEqSpin; - sprintf( - options[OPT_FORCEEQSPIN].cLongDescr, + fvFormattedString( + &options[OPT_FORCEEQSPIN].cLongDescr, "Set this option to 1 to force the rotation rate to the equilibrium \n" "tidal value in EqTide. If set to 0, the rotation rate may \"bounce\" " "\n" @@ -798,191 +798,191 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { "torque.", options[OPT_MAXLOCKDIFF].cName); - sprintf(options[OPT_HALTDBLSYNC].cName, "bHaltDblSync"); - sprintf(options[OPT_HALTDBLSYNC].cDescr, "Halt at Double Synchronous State?"); - sprintf(options[OPT_HALTDBLSYNC].cDefault, "0"); + fvFormattedString(&options[OPT_HALTDBLSYNC].cName, "bHaltDblSync"); + 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; - sprintf(options[OPT_HALTTIDELOCK].cName, "bHaltTideLock"); - sprintf(options[OPT_HALTTIDELOCK].cDescr, "Halt if Tide-Locked?"); - sprintf(options[OPT_HALTTIDELOCK].cDefault, "0"); + fvFormattedString(&options[OPT_HALTTIDELOCK].cName, "bHaltTideLock"); + fvFormattedString(&options[OPT_HALTTIDELOCK].cDescr, "Halt if Tide-Locked?"); + fvFormattedString(&options[OPT_HALTTIDELOCK].cDefault, "0"); options[OPT_HALTTIDELOCK].iType = 0; options[OPT_HALTTIDELOCK].bMultiFile = 1; fnRead[OPT_HALTTIDELOCK] = &ReadHaltTideLock; - sprintf(options[OPT_TIDALRADIUS].cName, "dTidalRadius"); - sprintf(options[OPT_TIDALRADIUS].cDescr, "Eqtide Tidal Radius"); - sprintf(options[OPT_TIDALRADIUS].cDefault, "1 Earth Radius"); - sprintf(options[OPT_TIDALRADIUS].cDimension, "length"); + fvFormattedString(&options[OPT_TIDALRADIUS].cName, "dTidalRadius"); + fvFormattedString(&options[OPT_TIDALRADIUS].cDescr, "Eqtide Tidal Radius"); + fvFormattedString(&options[OPT_TIDALRADIUS].cDefault, "1 Earth Radius"); + fvFormattedString(&options[OPT_TIDALRADIUS].cDimension, "length"); options[OPT_TIDALRADIUS].dDefault = REARTH; options[OPT_TIDALRADIUS].iType = 2; options[OPT_TIDALRADIUS].bMultiFile = 1; options[OPT_TIDALRADIUS].dNeg = REARTH; - sprintf(options[OPT_TIDALRADIUS].cNeg, "Rearth"); + fvFormattedString(&options[OPT_TIDALRADIUS].cNeg, "Rearth"); fnRead[OPT_TIDALRADIUS] = &ReadTidalRadius; - sprintf(options[OPT_HALTSYNCROT].cName, "bHaltSyncRot"); - sprintf(options[OPT_HALTSYNCROT].cDescr, + fvFormattedString(&options[OPT_HALTSYNCROT].cName, "bHaltSyncRot"); + fvFormattedString(&options[OPT_HALTSYNCROT].cDescr, "Halt if the rotation becomes syncrhonous?"); - sprintf(options[OPT_HALTSYNCROT].cDefault, "0"); + fvFormattedString(&options[OPT_HALTSYNCROT].cDefault, "0"); options[OPT_HALTSYNCROT].iType = 0; options[OPT_HALTSYNCROT].bMultiFile = 1; fnRead[OPT_HALTSYNCROT] = &ReadHaltSyncRot; - sprintf(options[OPT_K2].cName, "dK2"); - sprintf(options[OPT_K2].cDescr, "Love Number of Degree 2"); - sprintf(options[OPT_K2].cDefault, "1"); - sprintf(options[OPT_K2].cDimension, "nd"); + fvFormattedString(&options[OPT_K2].cName, "dK2"); + fvFormattedString(&options[OPT_K2].cDescr, "Love Number of Degree 2"); + fvFormattedString(&options[OPT_K2].cDefault, "1"); + fvFormattedString(&options[OPT_K2].cDimension, "nd"); options[OPT_K2].dDefault = 1; options[OPT_K2].iType = 2; options[OPT_K2].bMultiFile = 1; fnRead[OPT_K2] = &ReadK2; - sprintf(options[OPT_K2OCEAN].cName, "dK2Ocean"); - sprintf(options[OPT_K2OCEAN].cDescr, "Ocean's Love Number of Degree 2"); - sprintf(options[OPT_K2OCEAN].cDefault, "0.05"); - sprintf(options[OPT_K2OCEAN].cDimension, "nd"); + fvFormattedString(&options[OPT_K2OCEAN].cName, "dK2Ocean"); + 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; options[OPT_K2OCEAN].iType = 2; options[OPT_K2OCEAN].bMultiFile = 1; fnRead[OPT_K2OCEAN] = &ReadK2Ocean; - sprintf(options[OPT_K2ENV].cName, "dK2Env"); - sprintf(options[OPT_K2ENV].cDescr, "Envelope's Love Number of Degree 2"); - sprintf(options[OPT_K2ENV].cDefault, "0.01"); - sprintf(options[OPT_K2ENV].cDimension, "nd"); + fvFormattedString(&options[OPT_K2ENV].cName, "dK2Env"); + 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; options[OPT_K2ENV].iType = 2; options[OPT_K2ENV].bMultiFile = 1; fnRead[OPT_K2ENV] = &ReadK2Env; - sprintf(options[OPT_MAXLOCKDIFF].cName, "dMaxLockDiff"); - sprintf(options[OPT_MAXLOCKDIFF].cDescr, + 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"); - sprintf(options[OPT_MAXLOCKDIFF].cDefault, "0"); - sprintf(options[OPT_MAXLOCKDIFF].cDimension, "nd"); + 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; - sprintf(options[OPT_OCEANTIDES].cName, "bOceanTides"); - sprintf(options[OPT_OCEANTIDES].cDescr, "Include effects of ocean tides?"); - sprintf(options[OPT_OCEANTIDES].cDefault, "0"); + fvFormattedString(&options[OPT_OCEANTIDES].cName, "bOceanTides"); + 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; - sprintf(options[OPT_MANTLETIDES].cName, "bMantleTides"); - sprintf(options[OPT_MANTLETIDES].cDescr, "Include effects of mantle tides?"); - sprintf(options[OPT_MANTLETIDES].cDefault, "0"); + fvFormattedString(&options[OPT_MANTLETIDES].cName, "bMantleTides"); + 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; fnRead[OPT_MANTLETIDES] = &ReadEqtideMantleTides; - // XXX What does this do? - sprintf(options[OPT_USETIDALRADIUS].cName, "bUseTidalRadius"); - sprintf(options[OPT_USETIDALRADIUS].cDescr, + // XXX What does this option do? + fvFormattedString(&options[OPT_USETIDALRADIUS].cName, "bUseTidalRadius"); + fvFormattedString(&options[OPT_USETIDALRADIUS].cDescr, "Fix radius used for CPL tidal equations?"); - sprintf(options[OPT_USETIDALRADIUS].cDefault, "0"); + fvFormattedString(&options[OPT_USETIDALRADIUS].cDefault, "0"); options[OPT_USETIDALRADIUS].iType = 0; options[OPT_USETIDALRADIUS].bMultiFile = 1; fnRead[OPT_USETIDALRADIUS] = &ReadUseTidalRadius; - sprintf(options[OPT_ENVTIDES].cName, "bEnvTides"); - sprintf(options[OPT_ENVTIDES].cDescr, + fvFormattedString(&options[OPT_ENVTIDES].cName, "bEnvTides"); + fvFormattedString(&options[OPT_ENVTIDES].cDescr, "Include effects of gaseous envelope tides?"); - sprintf(options[OPT_ENVTIDES].cDefault, "0"); + fvFormattedString(&options[OPT_ENVTIDES].cDefault, "0"); options[OPT_ENVTIDES].iType = 0; options[OPT_ENVTIDES].bMultiFile = 1; fnRead[OPT_ENVTIDES] = &ReadEqtideEnvTides; - sprintf(options[OPT_SYNCECC].cName, "dSyncEcc"); - sprintf(options[OPT_SYNCECC].cDescr, + fvFormattedString(&options[OPT_SYNCECC].cName, "dSyncEcc"); + fvFormattedString(&options[OPT_SYNCECC].cDescr, "Minimum Eccentricity for Non-Synchronous Rotation"); - sprintf(options[OPT_SYNCECC].cDefault, "0"); - sprintf(options[OPT_SYNCECC].cDimension, "nd"); + fvFormattedString(&options[OPT_SYNCECC].cDefault, "0"); + fvFormattedString(&options[OPT_SYNCECC].cDimension, "nd"); options[OPT_SYNCECC].dDefault = 0; options[OPT_SYNCECC].iType = 2; options[OPT_SYNCECC].bMultiFile = 1; fnRead[OPT_SYNCECC] = &ReadSyncEcc; - sprintf(options[OPT_TIDALQ].cName, "dTidalQ"); - sprintf(options[OPT_TIDALQ].cDescr, "Tidal Quality Factor"); - sprintf(options[OPT_TIDALQ].cDefault, "1e6"); - sprintf(options[OPT_TIDALQ].cDimension, "nd"); + fvFormattedString(&options[OPT_TIDALQ].cName, "dTidalQ"); + fvFormattedString(&options[OPT_TIDALQ].cDescr, "Tidal Quality Factor"); + fvFormattedString(&options[OPT_TIDALQ].cDefault, "1e6"); + fvFormattedString(&options[OPT_TIDALQ].cDimension, "nd"); options[OPT_TIDALQ].dDefault = 1e6; options[OPT_TIDALQ].iType = 2; options[OPT_TIDALQ].bMultiFile = 1; fnRead[OPT_TIDALQ] = &ReadTidalQ; - sprintf(options[OPT_TIDALQOCEAN].cName, "dTidalQOcean"); - sprintf(options[OPT_TIDALQOCEAN].cDescr, "Ocean Tidal Quality Factor"); - sprintf(options[OPT_TIDALQOCEAN].cDefault, "12"); - sprintf(options[OPT_TIDALQOCEAN].cDimension, "nd"); + fvFormattedString(&options[OPT_TIDALQOCEAN].cName, "dTidalQOcean"); + 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; options[OPT_TIDALQOCEAN].iType = 2; options[OPT_TIDALQOCEAN].bMultiFile = 1; fnRead[OPT_TIDALQOCEAN] = &ReadTidalQOcean; - sprintf(options[OPT_TIDALQENV].cName, "dTidalQEnv"); - sprintf(options[OPT_TIDALQENV].cDescr, "Envelope Tidal Quality Factor"); - sprintf(options[OPT_TIDALQENV].cDefault, "1.0e4"); - sprintf(options[OPT_TIDALQENV].cDimension, "nd"); + fvFormattedString(&options[OPT_TIDALQENV].cName, "dTidalQEnv"); + 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; options[OPT_TIDALQENV].iType = 2; options[OPT_TIDALQENV].bMultiFile = 1; fnRead[OPT_TIDALQENV] = &ReadTidalQEnv; - sprintf(options[OPT_TIDALTAU].cName, "dTidalTau"); - sprintf(options[OPT_TIDALTAU].cDescr, "Tidal Time Lag"); - sprintf(options[OPT_TIDALTAU].cDefault, "1 Second"); - sprintf(options[OPT_TIDALTAU].cDimension, "time"); + fvFormattedString(&options[OPT_TIDALTAU].cName, "dTidalTau"); + fvFormattedString(&options[OPT_TIDALTAU].cDescr, "Tidal Time Lag"); + fvFormattedString(&options[OPT_TIDALTAU].cDefault, "1 Second"); + fvFormattedString(&options[OPT_TIDALTAU].cDimension, "time"); options[OPT_TIDALTAU].dDefault = 1; options[OPT_TIDALTAU].iType = 2; options[OPT_TIDALTAU].bMultiFile = 1; options[OPT_TIDALTAU].dNeg = 1; - sprintf(options[OPT_TIDALTAU].cNeg, "Seconds"); + fvFormattedString(&options[OPT_TIDALTAU].cNeg, "Seconds"); fnRead[OPT_TIDALTAU] = &ReadTidalTau; - sprintf(options[OPT_TIDEMODEL].cName, "sTideModel"); - sprintf(options[OPT_TIDEMODEL].cDescr, + 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]"); - sprintf(options[OPT_TIDEMODEL].cDefault, "p2"); + fvFormattedString(&options[OPT_TIDEMODEL].cDefault, "p2"); options[OPT_TIDEMODEL].iType = 3; fnRead[OPT_TIDEMODEL] = &ReadTideModel; - sprintf(options[OPT_TIDEPERTS].cName, "saTidePerts"); - sprintf(options[OPT_TIDEPERTS].cDescr, + fvFormattedString(&options[OPT_TIDEPERTS].cName, "saTidePerts"); + fvFormattedString(&options[OPT_TIDEPERTS].cDescr, "Names of bodies engaged in tidal evolution"); - sprintf(options[OPT_TIDEPERTS].cDefault, "none"); + fvFormattedString(&options[OPT_TIDEPERTS].cDefault, "none"); options[OPT_TIDEPERTS].iType = 13; fnRead[OPT_TIDEPERTS] = &ReadTidePerts; - sprintf(options[OPT_OCEANTIDES].cName, "bOceanTides"); - sprintf(options[OPT_OCEANTIDES].cDescr, + fvFormattedString(&options[OPT_OCEANTIDES].cName, "bOceanTides"); + fvFormattedString(&options[OPT_OCEANTIDES].cDescr, "Include tidal dissapation due to oceans?"); - sprintf(options[OPT_OCEANTIDES].cDefault, "0"); + fvFormattedString(&options[OPT_OCEANTIDES].cDefault, "0"); options[OPT_OCEANTIDES].iType = 0; options[OPT_OCEANTIDES].bMultiFile = 1; fnRead[OPT_OCEANTIDES] = &ReadEqtideOceanTides; - sprintf(options[OPT_TIDALQMANTLE].cName, "dTidalQMantle"); - sprintf(options[OPT_TIDALQMANTLE].cDescr, "Tidal Q of Mantle"); - sprintf(options[OPT_TIDALQMANTLE].cDefault, "100"); - sprintf(options[OPT_TIDALQMANTLE].cDimension, "nd"); + fvFormattedString(&options[OPT_TIDALQMANTLE].cName, "dTidalQMantle"); + fvFormattedString(&options[OPT_TIDALQMANTLE].cDescr, "Tidal Q of Mantle"); + fvFormattedString(&options[OPT_TIDALQMANTLE].cDefault, "100"); + fvFormattedString(&options[OPT_TIDALQMANTLE].cDimension, "nd"); options[OPT_TIDALQMANTLE].dDefault = 100; options[OPT_TIDALQMANTLE].iType = 2; options[OPT_TIDALQMANTLE].bMultiFile = 1; fnRead[OPT_TIDALQMANTLE] = &ReadTidalQMantle; - sprintf(options[OPT_K2MANTLE].cName, "dK2Mantle"); - sprintf(options[OPT_K2MANTLE].cDescr, "Mantle's Love Number of Degree 2"); - sprintf(options[OPT_K2MANTLE].cDefault, "0.01"); - sprintf(options[OPT_K2MANTLE].cDimension, "nd"); + fvFormattedString(&options[OPT_K2MANTLE].cName, "dK2Mantle"); + 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; options[OPT_K2MANTLE].iType = 2; options[OPT_K2MANTLE].bMultiFile = 1; @@ -2480,7 +2480,7 @@ void WriteDOrbPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, strcpy(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); - sprintf(cUnit, "%s", ""); + fvFormattedString(&cUnit, "%s", ""); } } @@ -2996,170 +2996,170 @@ void WriteTideLock(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_BODYDSEMIDTEQTIDE].cName, "BodyDsemiDtEqtide"); - sprintf(output[OUT_BODYDSEMIDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_BODYDSEMIDTEQTIDE].cName, "BodyDsemiDtEqtide"); + fvFormattedString(&output[OUT_BODYDSEMIDTEQTIDE].cDescr, "Body's Contribution to dSemi/dt in EqTide"); - sprintf(output[OUT_BODYDSEMIDTEQTIDE].cNeg, "AU/Gyr"); + fvFormattedString(&output[OUT_BODYDSEMIDTEQTIDE].cNeg, "AU/Gyr"); output[OUT_BODYDSEMIDTEQTIDE].bNeg = 1; output[OUT_BODYDSEMIDTEQTIDE].dNeg = YEARSEC * 1e9 / AUM; output[OUT_BODYDSEMIDTEQTIDE].iNum = 1; output[OUT_BODYDSEMIDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_BODYDSEMIDTEQTIDE] = &WriteBodyDsemiDtEqtide; - sprintf( - output[OUT_BODYDSEMIDTEQTIDE].cDescr, + fvFormattedString( + &output[OUT_BODYDSEMIDTEQTIDE].cDescr, "In EqTide, the total change in semi-major axis is due to dissipation " "in " "both bodies. This output parameter returns the change due to current " "body."); - sprintf(output[OUT_BODYDECCDTEQTIDE].cName, "BodyDeccDt"); - sprintf(output[OUT_BODYDECCDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_BODYDECCDTEQTIDE].cName, "BodyDeccDt"); + fvFormattedString(&output[OUT_BODYDECCDTEQTIDE].cDescr, "Body's Contribution to dEcc/dt in EqTide"); - sprintf(output[OUT_BODYDECCDTEQTIDE].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_BODYDECCDTEQTIDE].cNeg, "/Gyr"); output[OUT_BODYDECCDTEQTIDE].bNeg = 1; output[OUT_BODYDECCDTEQTIDE].dNeg = YEARSEC * 1e9; output[OUT_BODYDECCDTEQTIDE].iNum = 1; output[OUT_BODYDECCDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_BODYDECCDTEQTIDE] = &WriteBodyDeccDtEqtide; - sprintf( - output[OUT_BODYDECCDTEQTIDE].cDescr, + fvFormattedString( + &output[OUT_BODYDECCDTEQTIDE].cDescr, "In EqTide, the total change in eccentricity is due to towrues on both " "bodies. This output parameter returns the change due to current " "body."); - sprintf(output[OUT_DOBLDTEQTIDE].cName, "DOblDtEqtide"); - sprintf(output[OUT_DOBLDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DOBLDTEQTIDE].cName, "DOblDtEqtide"); + fvFormattedString(&output[OUT_DOBLDTEQTIDE].cDescr, "Time Rate of Change of Obliquity in EqTide"); - sprintf(output[OUT_DOBLDTEQTIDE].cNeg, "deg/Gyr"); + fvFormattedString(&output[OUT_DOBLDTEQTIDE].cNeg, "deg/Gyr"); output[OUT_DOBLDTEQTIDE].bNeg = 1; output[OUT_DOBLDTEQTIDE].dNeg = YEARSEC * 1e9 / DEGRAD; output[OUT_DOBLDTEQTIDE].iNum = 1; output[OUT_DOBLDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DOBLDTEQTIDE] = &WriteDOblDtEqtide; - sprintf(output[OUT_TIDALQOCEAN].cName, "OceanTidalQ"); - sprintf(output[OUT_TIDALQOCEAN].cDescr, "Ocean Tidal Q"); + fvFormattedString(&output[OUT_TIDALQOCEAN].cName, "OceanTidalQ"); + fvFormattedString(&output[OUT_TIDALQOCEAN].cDescr, "Ocean Tidal Q"); output[OUT_TIDALQOCEAN].bNeg = 0; output[OUT_TIDALQOCEAN].iNum = 1; output[OUT_TIDALQOCEAN].iModuleBit = EQTIDE; fnWrite[OUT_TIDALQOCEAN] = WriteTidalQOcean; - sprintf(output[OUT_TIDALRADIUS].cName, "TidalRadius"); - sprintf(output[OUT_TIDALRADIUS].cDescr, "Tidal Radius"); - sprintf(output[OUT_TIDALRADIUS].cNeg, "Rearth"); + fvFormattedString(&output[OUT_TIDALRADIUS].cName, "TidalRadius"); + fvFormattedString(&output[OUT_TIDALRADIUS].cDescr, "Tidal Radius"); + fvFormattedString(&output[OUT_TIDALRADIUS].cNeg, "Rearth"); output[OUT_TIDALRADIUS].bNeg = 1; output[OUT_TIDALRADIUS].dNeg = 1. / REARTH; output[OUT_TIDALRADIUS].iNum = 1; output[OUT_TIDALRADIUS].iModuleBit = EQTIDE; fnWrite[OUT_TIDALRADIUS] = &WriteTidalRadius; - sprintf( - output[OUT_TIDALRADIUS].cDescr, + fvFormattedString( + &output[OUT_TIDALRADIUS].cDescr, "In EqTide, the value of the radius that enters the tidal evolution " "equations. This parameter is distinct from others, such as the radius " "of XUV absorption or a pressure level in an atmosphere."); - sprintf(output[OUT_TIDALQENV].cName, "EnvTidalQ"); - sprintf(output[OUT_TIDALQENV].cDescr, "Envelope Tidal Q"); + fvFormattedString(&output[OUT_TIDALQENV].cName, "EnvTidalQ"); + fvFormattedString(&output[OUT_TIDALQENV].cDescr, "Envelope Tidal Q"); output[OUT_TIDALQENV].bNeg = 0; output[OUT_TIDALQENV].iNum = 1; output[OUT_TIDALQENV].iModuleBit = EQTIDE; fnWrite[OUT_TIDALQENV] = WriteTidalQEnv; - sprintf(output[OUT_DSEMIDTEQTIDE].cName, "DsemiDtEqtide"); - sprintf(output[OUT_DSEMIDTEQTIDE].cDescr, "Total da/dt from EqTide"); - sprintf(output[OUT_DSEMIDTEQTIDE].cNeg, "AU/Gyr"); + fvFormattedString(&output[OUT_DSEMIDTEQTIDE].cName, "DsemiDtEqtide"); + 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; output[OUT_DSEMIDTEQTIDE].iNum = 1; output[OUT_DSEMIDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DSEMIDTEQTIDE] = &WriteDSemiDtEqtide; - sprintf(output[OUT_DECCDTEQTIDE].cName, "DeccDtEqtide"); - sprintf(output[OUT_DECCDTEQTIDE].cDescr, "Total de/dt from EqTide"); - sprintf(output[OUT_DECCDTEQTIDE].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_DECCDTEQTIDE].cName, "DeccDtEqtide"); + 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; output[OUT_DECCDTEQTIDE].iNum = 1; output[OUT_DECCDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DECCDTEQTIDE] = &WriteDEccDtEqtide; - sprintf(output[OUT_DMMDTEQTIDE].cName, "DMeanMotionDtEqtide"); - sprintf(output[OUT_DMMDTEQTIDE].cDescr, "Total dMeanMotion/dt from EqTide"); + fvFormattedString(&output[OUT_DMMDTEQTIDE].cName, "DMeanMotionDtEqtide"); + fvFormattedString(&output[OUT_DMMDTEQTIDE].cDescr, "Total dMeanMotion/dt from EqTide"); output[OUT_DMMDTEQTIDE].iNum = 1; output[OUT_DMMDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DMMDTEQTIDE] = &WriteDMeanMotionDtEqtide; - sprintf(output[OUT_DORBPERDTEQTIDE].cName, "DOrbPerDtEqtide"); - sprintf(output[OUT_DORBPERDTEQTIDE].cDescr, "Total dOrbPer/dt from EqTide"); - sprintf(output[OUT_DORBPERDTEQTIDE].cNeg, "days/Gyr"); + fvFormattedString(&output[OUT_DORBPERDTEQTIDE].cName, "DOrbPerDtEqtide"); + 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; output[OUT_DORBPERDTEQTIDE].iNum = 1; output[OUT_DORBPERDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DORBPERDTEQTIDE] = &WriteDOrbPerDtEqtide; - sprintf(output[OUT_DROTPERDTEQTIDE].cName, "DRotPerDtEqtide"); - sprintf(output[OUT_DROTPERDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cName, "DRotPerDtEqtide"); + fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cDescr, "Time Rate of Change of Rotation Period in EqTide"); - sprintf(output[OUT_DROTPERDTEQTIDE].cNeg, "days/Myr"); + fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cNeg, "days/Myr"); output[OUT_DROTPERDTEQTIDE].bNeg = 1; output[OUT_DROTPERDTEQTIDE].dNeg = DAYSEC / (YEARSEC * 1e6); output[OUT_DROTPERDTEQTIDE].iNum = 1; output[OUT_DROTPERDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DROTPERDTEQTIDE] = &WriteDRotPerDtEqtide; - sprintf(output[OUT_DROTRATEDTEQTIDE].cName, "DRotRateDtEqtide"); - sprintf(output[OUT_DROTRATEDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cName, "DRotRateDtEqtide"); + fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cDescr, "Time Rate of Change of Rotation Rate in EqTide"); output[OUT_DROTRATEDTEQTIDE].bNeg = 0; output[OUT_DROTRATEDTEQTIDE].iNum = 1; output[OUT_DROTRATEDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DROTRATEDTEQTIDE] = &WriteDRotRateDtEqtide; - sprintf(output[OUT_DHECCDTEQTIDE].cName, "DHEccDtEqtide"); - sprintf(output[OUT_DHECCDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DHECCDTEQTIDE].cName, "DHEccDtEqtide"); + fvFormattedString(&output[OUT_DHECCDTEQTIDE].cDescr, "Time Rate of Change of Poincare's h in EqTide"); - sprintf(output[OUT_DHECCDTEQTIDE].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_DHECCDTEQTIDE].cNeg, "/Gyr"); output[OUT_DHECCDTEQTIDE].bNeg = 1; output[OUT_DHECCDTEQTIDE].dNeg = (1e9 * YEARSEC); output[OUT_DHECCDTEQTIDE].iNum = 1; output[OUT_DHECCDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DHECCDTEQTIDE] = &WriteDHeccDtEqtide; - sprintf(output[OUT_DKECCDTEQTIDE].cName, "DKEccDtEqtide"); - sprintf(output[OUT_DKECCDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DKECCDTEQTIDE].cName, "DKEccDtEqtide"); + fvFormattedString(&output[OUT_DKECCDTEQTIDE].cDescr, "Time Rate of Change of Poincare's k in EqTide"); - sprintf(output[OUT_DKECCDTEQTIDE].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_DKECCDTEQTIDE].cNeg, "/Gyr"); output[OUT_DKECCDTEQTIDE].bNeg = 1; output[OUT_DKECCDTEQTIDE].dNeg = (1e9 * YEARSEC); output[OUT_DKECCDTEQTIDE].iNum = 1; output[OUT_DKECCDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DKECCDTEQTIDE] = &WriteDKeccDtEqtide; - sprintf(output[OUT_DXOBLDTEQTIDE].cName, "DXoblDtEqtide"); - sprintf(output[OUT_DXOBLDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DXOBLDTEQTIDE].cName, "DXoblDtEqtide"); + fvFormattedString(&output[OUT_DXOBLDTEQTIDE].cDescr, "Time Rate of Change of Laskar's X in EqTide"); - sprintf(output[OUT_DXOBLDTEQTIDE].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_DXOBLDTEQTIDE].cNeg, "/Gyr"); output[OUT_DXOBLDTEQTIDE].bNeg = 1; output[OUT_DXOBLDTEQTIDE].dNeg = (1e9 * YEARSEC); output[OUT_DXOBLDTEQTIDE].iNum = 1; output[OUT_DXOBLDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DXOBLDTEQTIDE] = &WriteDXoblDtEqtide; - sprintf(output[OUT_DYOBLDTEQTIDE].cName, "DYoblDtEqtide"); - sprintf(output[OUT_DYOBLDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DYOBLDTEQTIDE].cName, "DYoblDtEqtide"); + fvFormattedString(&output[OUT_DYOBLDTEQTIDE].cDescr, "Time Rate of Change of Laskar's Y in EqTide"); - sprintf(output[OUT_DYOBLDTEQTIDE].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_DYOBLDTEQTIDE].cNeg, "/Gyr"); output[OUT_DYOBLDTEQTIDE].bNeg = 1; output[OUT_DYOBLDTEQTIDE].dNeg = (1e9 * YEARSEC); output[OUT_DYOBLDTEQTIDE].iNum = 1; output[OUT_DYOBLDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DYOBLDTEQTIDE] = &WriteDYoblDtEqtide; - sprintf(output[OUT_DZOBLDTEQTIDE].cName, "DZoblDtEqtide"); - sprintf(output[OUT_DZOBLDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DZOBLDTEQTIDE].cName, "DZoblDtEqtide"); + fvFormattedString(&output[OUT_DZOBLDTEQTIDE].cDescr, "Time Rate of Change of Laskar's Z in EqTide"); - sprintf(output[OUT_DZOBLDTEQTIDE].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_DZOBLDTEQTIDE].cNeg, "/Gyr"); output[OUT_DZOBLDTEQTIDE].bNeg = 1; output[OUT_DZOBLDTEQTIDE].dNeg = (1e9 * YEARSEC); output[OUT_DZOBLDTEQTIDE].iNum = 1; @@ -3170,77 +3170,77 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { * E */ - sprintf(output[OUT_ECCTIMEEQTIDE].cName, "EccTimeEqtide"); - sprintf(output[OUT_ECCTIMEEQTIDE].cDescr, + fvFormattedString(&output[OUT_ECCTIMEEQTIDE].cName, "EccTimeEqtide"); + fvFormattedString(&output[OUT_ECCTIMEEQTIDE].cDescr, "Timescale for Eccentricity Evolution (e/[de/dt]) in EqTide"); - sprintf(output[OUT_ECCTIMEEQTIDE].cNeg, "years"); + fvFormattedString(&output[OUT_ECCTIMEEQTIDE].cNeg, "years"); output[OUT_ECCTIMEEQTIDE].bNeg = 1; output[OUT_ECCTIMEEQTIDE].dNeg = 1. / YEARSEC; output[OUT_ECCTIMEEQTIDE].iNum = 1; output[OUT_ECCTIMEEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_ECCTIMEEQTIDE] = &WriteEccTimescaleEqtide; - sprintf(output[OUT_EQROTPER].cName, "EqRotPer"); - sprintf(output[OUT_EQROTPER].cDescr, "Equilibrium Rotation Period"); - sprintf(output[OUT_EQROTPER].cNeg, "days"); + fvFormattedString(&output[OUT_EQROTPER].cName, "EqRotPer"); + 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; output[OUT_EQROTPER].iNum = 1; output[OUT_EQROTPER].iModuleBit = EQTIDE; fnWrite[OUT_EQROTPER] = &WriteEqRotPer; - sprintf(output[OUT_EQROTPERCONT].cName, "EqRotPerCont"); - sprintf(output[OUT_EQROTPERCONT].cDescr, + fvFormattedString(&output[OUT_EQROTPERCONT].cName, "EqRotPerCont"); + fvFormattedString(&output[OUT_EQROTPERCONT].cDescr, "CPL2 Continuous Equilibrium Rotation Period"); - sprintf(output[OUT_EQROTPERCONT].cNeg, "days"); + fvFormattedString(&output[OUT_EQROTPERCONT].cNeg, "days"); output[OUT_EQROTPERCONT].bNeg = 1; output[OUT_EQROTPERCONT].dNeg = 1. / DAYSEC; output[OUT_EQROTPERCONT].iNum = 1; output[OUT_EQROTPERCONT].iModuleBit = EQTIDE; fnWrite[OUT_EQROTPERCONT] = &WriteEqRotPerCont; - sprintf(output[OUT_EQROTPERDISCRETE].cName, "EqRotPerDiscrete"); - sprintf(output[OUT_EQROTPERDISCRETE].cDescr, + fvFormattedString(&output[OUT_EQROTPERDISCRETE].cName, "EqRotPerDiscrete"); + fvFormattedString(&output[OUT_EQROTPERDISCRETE].cDescr, "CPL2 Discrete Equilibrium Spin Period"); - sprintf(output[OUT_EQROTPERDISCRETE].cNeg, "days"); + fvFormattedString(&output[OUT_EQROTPERDISCRETE].cNeg, "days"); output[OUT_EQROTPERDISCRETE].bNeg = 1; output[OUT_EQROTPERDISCRETE].dNeg = 1. / DAYSEC; output[OUT_EQROTPERDISCRETE].iNum = 1; output[OUT_EQROTPERDISCRETE].iModuleBit = EQTIDE; fnWrite[OUT_EQROTPERDISCRETE] = &WriteEqRotPerDiscrete; - sprintf(output[OUT_EQROTRATE].cName, "EqRotRate"); - sprintf(output[OUT_EQROTRATE].cDescr, "Equilibrium Rotation Rate"); - sprintf(output[OUT_EQROTRATE].cNeg, "/day"); + fvFormattedString(&output[OUT_EQROTRATE].cName, "EqRotRate"); + fvFormattedString(&output[OUT_EQROTRATE].cDescr, "Equilibrium Rotation Rate"); + fvFormattedString(&output[OUT_EQROTRATE].cNeg, "/day"); output[OUT_EQROTRATE].bNeg = 1; output[OUT_EQROTRATE].dNeg = DAYSEC; output[OUT_EQROTRATE].iNum = 1; output[OUT_EQROTRATE].iModuleBit = EQTIDE; fnWrite[OUT_EQROTRATE] = &WriteEqRotRate; - sprintf(output[OUT_EQROTRATECONT].cName, "EqRotRateCont"); - sprintf(output[OUT_EQROTRATECONT].cDescr, + fvFormattedString(&output[OUT_EQROTRATECONT].cName, "EqRotRateCont"); + fvFormattedString(&output[OUT_EQROTRATECONT].cDescr, "CPL2 Continuous Equilibrium Spin Rate"); - sprintf(output[OUT_EQROTRATECONT].cNeg, "/day"); + fvFormattedString(&output[OUT_EQROTRATECONT].cNeg, "/day"); output[OUT_EQROTRATE].bNeg = 1; output[OUT_EQROTRATECONT].dNeg = DAYSEC; output[OUT_EQROTRATECONT].iNum = 1; output[OUT_EQROTRATECONT].iModuleBit = EQTIDE; fnWrite[OUT_EQROTRATECONT] = &WriteEqRotRateCont; - sprintf(output[OUT_EQROTRATEDISCRETE].cName, "EqRotRateDiscrete"); - sprintf(output[OUT_EQROTRATEDISCRETE].cDescr, + fvFormattedString(&output[OUT_EQROTRATEDISCRETE].cName, "EqRotRateDiscrete"); + fvFormattedString(&output[OUT_EQROTRATEDISCRETE].cDescr, "CPL2 Discrete Equilibrium Spin Rate"); - sprintf(output[OUT_EQROTRATEDISCRETE].cNeg, "/day"); + fvFormattedString(&output[OUT_EQROTRATEDISCRETE].cNeg, "/day"); output[OUT_EQROTRATEDISCRETE].bNeg = 1; output[OUT_EQROTRATEDISCRETE].dNeg = DAYSEC; output[OUT_EQROTRATEDISCRETE].iNum = 1; output[OUT_EQROTRATEDISCRETE].iModuleBit = EQTIDE; fnWrite[OUT_EQROTRATEDISCRETE] = &WriteEqRotRateDiscrete; - sprintf(output[OUT_EQTIDEPOWER].cName, "EqTidePower"); - sprintf(output[OUT_EQTIDEPOWER].cDescr, "Equilibrium Power from Tides"); - sprintf(output[OUT_EQTIDEPOWER].cNeg, "/day"); + fvFormattedString(&output[OUT_EQTIDEPOWER].cName, "EqTidePower"); + 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; output[OUT_EQTIDEPOWER].iNum = 1; @@ -3252,29 +3252,29 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { * G */ - sprintf(output[OUT_GAMMAROT].cName, "GammaRot"); - sprintf(output[OUT_GAMMAROT].cDescr, "Gamma_Rotation"); + fvFormattedString(&output[OUT_GAMMAROT].cName, "GammaRot"); + fvFormattedString(&output[OUT_GAMMAROT].cDescr, "Gamma_Rotation"); output[OUT_GAMMAROT].bNeg = 0; output[OUT_GAMMAROT].iNum = 1; output[OUT_GAMMAROT].iModuleBit = EQTIDE; fnWrite[OUT_GAMMAROT] = &WriteGammaRot; - sprintf(output[OUT_GAMMAORB].cName, "GammaOrb"); - sprintf(output[OUT_GAMMAORB].cDescr, "Gamma_Orbital"); + fvFormattedString(&output[OUT_GAMMAORB].cName, "GammaOrb"); + fvFormattedString(&output[OUT_GAMMAORB].cDescr, "Gamma_Orbital"); output[OUT_GAMMAORB].bNeg = 0; output[OUT_GAMMAORB].iNum = 1; output[OUT_GAMMAORB].iModuleBit = EQTIDE; fnWrite[OUT_GAMMAORB] = &WriteGammaOrb; - sprintf(output[OUT_K2OCEAN].cName, "OceanK2"); - sprintf(output[OUT_K2OCEAN].cDescr, "Ocean's Love number k_2"); + fvFormattedString(&output[OUT_K2OCEAN].cName, "OceanK2"); + fvFormattedString(&output[OUT_K2OCEAN].cDescr, "Ocean's Love number k_2"); output[OUT_K2OCEAN].bNeg = 0; output[OUT_K2OCEAN].iNum = 1; output[OUT_K2OCEAN].iModuleBit = EQTIDE; fnWrite[OUT_K2OCEAN] = &WriteK2Ocean; - sprintf(output[OUT_K2ENV].cName, "EnvK2"); - sprintf(output[OUT_K2ENV].cDescr, "Envelope's Love number k_2"); + fvFormattedString(&output[OUT_K2ENV].cName, "EnvK2"); + fvFormattedString(&output[OUT_K2ENV].cDescr, "Envelope's Love number k_2"); output[OUT_K2ENV].bNeg = 0; output[OUT_K2ENV].iNum = 1; output[OUT_K2ENV].iModuleBit = EQTIDE; @@ -3284,10 +3284,10 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { * O */ - sprintf(output[OUT_OBLTIMEEQTIDE].cName, "OblTimeEqtide"); - sprintf(output[OUT_OBLTIMEEQTIDE].cDescr, + fvFormattedString(&output[OUT_OBLTIMEEQTIDE].cName, "OblTimeEqtide"); + fvFormattedString(&output[OUT_OBLTIMEEQTIDE].cDescr, "Timescale for Obliquity Evolution in EqTide"); - sprintf(output[OUT_OBLTIMEEQTIDE].cNeg, "years"); + fvFormattedString(&output[OUT_OBLTIMEEQTIDE].cNeg, "years"); output[OUT_OBLTIMEEQTIDE].bNeg = 1; output[OUT_OBLTIMEEQTIDE].dNeg = 1. / YEARSEC; output[OUT_OBLTIMEEQTIDE].iNum = 1; @@ -3298,29 +3298,29 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { * R */ - sprintf(output[OUT_ROTRATETIMEEQTIDE].cName, "RotTimeEqtide"); - sprintf(output[OUT_ROTRATETIMEEQTIDE].cDescr, + fvFormattedString(&output[OUT_ROTRATETIMEEQTIDE].cName, "RotTimeEqtide"); + fvFormattedString(&output[OUT_ROTRATETIMEEQTIDE].cDescr, "Timescale for Rotational Evolution in EqTide"); output[OUT_ROTRATETIMEEQTIDE].bNeg = 0; - sprintf(output[OUT_ROTRATETIMEEQTIDE].cNeg, "years"); + fvFormattedString(&output[OUT_ROTRATETIMEEQTIDE].cNeg, "years"); output[OUT_ROTRATETIMEEQTIDE].bNeg = 1; output[OUT_ROTRATETIMEEQTIDE].dNeg = 1. / YEARSEC; output[OUT_ROTRATETIMEEQTIDE].iNum = 1; output[OUT_ROTRATETIMEEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_ROTRATETIMEEQTIDE] = &WriteRotTimescaleEqtide; - sprintf(output[OUT_DROTPERDTEQTIDE].cName, "DRotPerDtEqtide"); - sprintf(output[OUT_DROTPERDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cName, "DRotPerDtEqtide"); + fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cDescr, "Time Rate of Change of Rotation Period in EqTide"); - sprintf(output[OUT_DROTPERDTEQTIDE].cNeg, "days/Myr"); + fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cNeg, "days/Myr"); output[OUT_DROTPERDTEQTIDE].bNeg = 1; output[OUT_DROTPERDTEQTIDE].dNeg = DAYSEC / (1e6 * YEARSEC); output[OUT_DROTPERDTEQTIDE].iNum = 1; output[OUT_DROTPERDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DROTPERDTEQTIDE] = &WriteDRotPerDtEqtide; - sprintf(output[OUT_DROTRATEDTEQTIDE].cName, "DRotRateDtEqtide"); - sprintf(output[OUT_DROTRATEDTEQTIDE].cDescr, + fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cName, "DRotRateDtEqtide"); + fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cDescr, "Time Rate of Change of Rotational Frequency in EqTide"); output[OUT_DROTRATEDTEQTIDE].bNeg = 0; output[OUT_DROTRATEDTEQTIDE].iNum = 1; @@ -3331,11 +3331,11 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { * S */ - sprintf(output[OUT_SEMITIMEEQTIDE].cName, "SemiTimeEqtide"); - sprintf(output[OUT_SEMITIMEEQTIDE].cDescr, + fvFormattedString(&output[OUT_SEMITIMEEQTIDE].cName, "SemiTimeEqtide"); + fvFormattedString(&output[OUT_SEMITIMEEQTIDE].cDescr, "Timescale for Semi-major Axis Evolution (a/[da/dt]) in EqTide"); output[OUT_SEMITIMEEQTIDE].bNeg = 0; - sprintf(output[OUT_SEMITIMEEQTIDE].cNeg, "years"); + fvFormattedString(&output[OUT_SEMITIMEEQTIDE].cNeg, "years"); output[OUT_SEMITIMEEQTIDE].bNeg = 1; output[OUT_SEMITIMEEQTIDE].dNeg = 1. / YEARSEC; output[OUT_SEMITIMEEQTIDE].iNum = 1; @@ -3346,45 +3346,45 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { * T */ - sprintf(output[OUT_TIDALTAU].cName, "TidalTau"); - sprintf(output[OUT_TIDALTAU].cDescr, "Tidal Time Lag"); - sprintf(output[OUT_TIDALTAU].cNeg, "sec"); + fvFormattedString(&output[OUT_TIDALTAU].cName, "TidalTau"); + fvFormattedString(&output[OUT_TIDALTAU].cDescr, "Tidal Time Lag"); + fvFormattedString(&output[OUT_TIDALTAU].cNeg, "sec"); output[OUT_TIDALTAU].bNeg = 1; output[OUT_TIDALTAU].dNeg = 1; output[OUT_TIDALTAU].iNum = 1; output[OUT_TIDALTAU].iModuleBit = EQTIDE; fnWrite[OUT_TIDALTAU] = &WriteTidalTau; - sprintf(output[OUT_ENFLUXEQTIDE].cName, "SurfEnFluxEqtide"); - sprintf(output[OUT_ENFLUXEQTIDE].cDescr, + fvFormattedString(&output[OUT_ENFLUXEQTIDE].cName, "SurfEnFluxEqtide"); + fvFormattedString(&output[OUT_ENFLUXEQTIDE].cDescr, "Surface Energy Flux due to Tides in EqTide"); - sprintf(output[OUT_ENFLUXEQTIDE].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_ENFLUXEQTIDE].cNeg, "W/m^2"); output[OUT_ENFLUXEQTIDE].bNeg = 1; output[OUT_ENFLUXEQTIDE].dNeg = 1; output[OUT_ENFLUXEQTIDE].iNum = 1; output[OUT_ENFLUXEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_ENFLUXEQTIDE] = &WriteEnergyFluxEqtide; - sprintf(output[OUT_POWEREQTIDE].cName, "PowerEqtide"); - sprintf(output[OUT_POWEREQTIDE].cDescr, + fvFormattedString(&output[OUT_POWEREQTIDE].cName, "PowerEqtide"); + fvFormattedString(&output[OUT_POWEREQTIDE].cDescr, "Internal Power due to Tides in EqTide"); - sprintf(output[OUT_POWEREQTIDE].cNeg, "TW"); + fvFormattedString(&output[OUT_POWEREQTIDE].cNeg, "TW"); output[OUT_POWEREQTIDE].bNeg = 1; output[OUT_POWEREQTIDE].dNeg = 1e-12; output[OUT_POWEREQTIDE].iNum = 1; output[OUT_POWEREQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_POWEREQTIDE] = &WritePowerEqtide; - sprintf(output[OUT_TIDELOCK].cName, "TideLock"); - sprintf(output[OUT_TIDELOCK].cDescr, "Tidally Locked?"); + fvFormattedString(&output[OUT_TIDELOCK].cName, "TideLock"); + fvFormattedString(&output[OUT_TIDELOCK].cDescr, "Tidally Locked?"); output[OUT_TIDELOCK].bNeg = 0; output[OUT_TIDELOCK].iNum = 1; output[OUT_TIDELOCK].iModuleBit = EQTIDE; fnWrite[OUT_TIDELOCK] = &WriteTideLock; - sprintf(output[OUT_LOCKTIME].cName, "LockTime"); - sprintf(output[OUT_LOCKTIME].cDescr, "Time when body tidally locked."); - sprintf(output[OUT_LOCKTIME].cNeg, "Myr"); + fvFormattedString(&output[OUT_LOCKTIME].cName, "LockTime"); + 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); output[OUT_LOCKTIME].iNum = 1; diff --git a/src/flare.c b/src/flare.c index 50bccbbbf..fbe44aef0 100644 --- a/src/flare.c +++ b/src/flare.c @@ -420,19 +420,19 @@ void ReadLXUVFlareConst(BODY *body, void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { int iOpt, iFile; - sprintf(options[OPT_FLAREYINT].cName, "dFlareYInt"); - sprintf(options[OPT_FLAREYINT].cDescr, + fvFormattedString(&options[OPT_FLAREYINT].cName, "dFlareYInt"); + fvFormattedString(&options[OPT_FLAREYINT].cDescr, "Y-Intercept for Flare Frequency"); // Where the curve intercepts the // y axis (y=ax+b, in this case, // the parameter is "b") - sprintf(options[OPT_FLAREYINT].cDefault, "20.9 (Proxima Centauri)"); + fvFormattedString(&options[OPT_FLAREYINT].cDefault, "20.9 (Proxima Centauri)"); options[OPT_FLAREYINT].dDefault = 20.9; options[OPT_FLAREYINT].iType = 2; options[OPT_FLAREYINT].bMultiFile = 1; options[OPT_FLAREYINT].dNeg = 1.0 / DAYSEC; - sprintf(options[OPT_FLAREYINT].cNeg, "1/day"); + fvFormattedString(&options[OPT_FLAREYINT].cNeg, "1/day"); fnRead[OPT_FLAREYINT] = &ReadFlareYInt; - sprintf(options[OPT_FLAREYINT].cLongDescr, + fvFormattedString(&options[OPT_FLAREYINT].cLongDescr, " Y-Intercept for flare frequency distribution. Where the curve " "intercepts the" "y axis (y=ax+b, in this case, dFlareYInt = 'b'). This value is " @@ -441,50 +441,50 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { // TODO: Include the error in the FFD slopes to calculate the upper and higher // limit of XUV luminosity by flares - /*sprintf(options[OPT_FLAREYINTERRORUPPER].cName, "dFlareYIntErrorUpper"); - sprintf(options[OPT_FLAREYINTERRORUPPER].cDescr, "Y-Intercept upper error"); - sprintf(options[OPT_FLAREYINTERRORUPPER].cDefault, "0.0"); + /*fvFormattedString(options[OPT_FLAREYINTERRORUPPER].cName, "dFlareYIntErrorUpper"); + fvFormattedString(options[OPT_FLAREYINTERRORUPPER].cDescr, "Y-Intercept upper error"); + fvFormattedString(options[OPT_FLAREYINTERRORUPPER].cDefault, "0.0"); options[OPT_FLAREYINTERRORUPPER].dDefault = 0.0; options[OPT_FLAREYINTERRORUPPER].iType = 2; options[OPT_FLAREYINTERRORUPPER].bMultiFile = 1; fnRead[OPT_FLAREYINTERRORUPPER] = &ReadFlareYIntErrorUpper; - sprintf(options[OPT_FLAREYINTERRORLOWER].cName, "dFlareYIntErrorLower"); - sprintf(options[OPT_FLAREYINTERRORLOWER].cDescr, "Y-Intercept lower error"); - sprintf(options[OPT_FLAREYINTERRORLOWER].cDefault, "0.0"); + fvFormattedString(options[OPT_FLAREYINTERRORLOWER].cName, "dFlareYIntErrorLower"); + fvFormattedString(options[OPT_FLAREYINTERRORLOWER].cDescr, "Y-Intercept lower error"); + fvFormattedString(options[OPT_FLAREYINTERRORLOWER].cDefault, "0.0"); options[OPT_FLAREYINTERRORLOWER].dDefault = 0.0; options[OPT_FLAREYINTERRORLOWER].iType = 2; options[OPT_FLAREYINTERRORLOWER].bMultiFile = 1; fnRead[OPT_FLAREYINTERRORLOWER] = &ReadFlareYIntErrorLower; */ - sprintf(options[OPT_FLARESLOPE].cName, "dFlareSlope"); - sprintf(options[OPT_FLARESLOPE].cDescr, "Slope for Flare Frequency"); - sprintf(options[OPT_FLARESLOPE].cDefault, "-0.68 (Proxima Centauri)"); + fvFormattedString(&options[OPT_FLARESLOPE].cName, "dFlareSlope"); + fvFormattedString(&options[OPT_FLARESLOPE].cDescr, "Slope for Flare Frequency"); + fvFormattedString(&options[OPT_FLARESLOPE].cDefault, "-0.68 (Proxima Centauri)"); options[OPT_FLARESLOPE].dDefault = -0.68; options[OPT_FLARESLOPE].iType = 2; options[OPT_FLARESLOPE].bMultiFile = 1; options[OPT_FLARESLOPE].dNeg = 1.0 / (DAYSEC * log10(1.0e7)); - sprintf(options[OPT_FLARESLOPE].cNeg, "1/day 1/log10(erg)"); + fvFormattedString(&options[OPT_FLARESLOPE].cNeg, "1/day 1/log10(erg)"); fnRead[OPT_FLARESLOPE] = &ReadFlareSlope; - sprintf( - options[OPT_FLARESLOPE].cLongDescr, + fvFormattedString( + &options[OPT_FLARESLOPE].cLongDescr, " Slope for flare frequency distribution. The user needs to" " input the module of the value for this parameter. The negative signal" " can be use only for input the value in flares/day 1/log10(erg). \n"); // TODO: Include the error in the FFD slopes to calculate the upper and higher // limit of XUV luminosity by flares - /*sprintf(options[OPT_FLARESLOPEERRORUPPER].cName, "dFlareSlopeErrorUpper"); - sprintf(options[OPT_FLARESLOPEERRORUPPER].cDescr, "Slope upper error"); - sprintf(options[OPT_FLARESLOPEERRORUPPER].cDefault, "0.0"); + /*fvFormattedString(options[OPT_FLARESLOPEERRORUPPER].cName, "dFlareSlopeErrorUpper"); + fvFormattedString(options[OPT_FLARESLOPEERRORUPPER].cDescr, "Slope upper error"); + fvFormattedString(options[OPT_FLARESLOPEERRORUPPER].cDefault, "0.0"); options[OPT_FLARESLOPEERRORUPPER].dDefault = 0.0; options[OPT_FLARESLOPEERRORUPPER].iType = 2; options[OPT_FLARESLOPEERRORUPPER].bMultiFile = 1; fnRead[OPT_FLARESLOPEERRORUPPER] = &ReadFlareSlopeErrorUpper; - sprintf(options[OPT_FLARESLOPEERRORLOWER].cName, "dFlareSlopeErrorLower"); - sprintf(options[OPT_FLARESLOPEERRORLOWER].cDescr, "Slope lower error"); - sprintf(options[OPT_FLARESLOPEERRORLOWER].cDefault, "0.0"); + fvFormattedString(options[OPT_FLARESLOPEERRORLOWER].cName, "dFlareSlopeErrorLower"); + fvFormattedString(options[OPT_FLARESLOPEERRORLOWER].cDescr, "Slope lower error"); + fvFormattedString(options[OPT_FLARESLOPEERRORLOWER].cDefault, "0.0"); options[OPT_FLARESLOPEERRORLOWER].dDefault = 0.0; options[OPT_FLARESLOPEERRORLOWER].iType = 2; options[OPT_FLARESLOPEERRORLOWER].bMultiFile = 1; @@ -492,61 +492,61 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { */ - sprintf(options[OPT_FLAREMINENERGY].cName, "dFlareMinEnergy"); - sprintf(options[OPT_FLAREMINENERGY].cDescr, + fvFormattedString(&options[OPT_FLAREMINENERGY].cName, "dFlareMinEnergy"); + fvFormattedString(&options[OPT_FLAREMINENERGY].cDescr, "Minimum Flare Energy to consider"); - sprintf(options[OPT_FLAREMINENERGY].cDefault, "10^26 J"); + fvFormattedString(&options[OPT_FLAREMINENERGY].cDefault, "10^26 J"); options[OPT_FLAREMINENERGY].dDefault = 1e26; options[OPT_FLAREMINENERGY].iType = 2; options[OPT_FLAREMINENERGY].bMultiFile = 1; options[OPT_FLAREMINENERGY].dNeg = 1e-7; - sprintf(options[OPT_FLAREMINENERGY].cNeg, "ergs"); + fvFormattedString(&options[OPT_FLAREMINENERGY].cNeg, "ergs"); fnRead[OPT_FLAREMINENERGY] = &ReadFlareMinEnergy; - sprintf(options[OPT_FLAREMAXENERGY].cName, "dFlareMaxEnergy"); - sprintf(options[OPT_FLAREMAXENERGY].cDescr, + fvFormattedString(&options[OPT_FLAREMAXENERGY].cName, "dFlareMaxEnergy"); + fvFormattedString(&options[OPT_FLAREMAXENERGY].cDescr, "Maximum Flare Energy to consider"); - sprintf(options[OPT_FLAREMAXENERGY].cDefault, "10^29 J"); + fvFormattedString(&options[OPT_FLAREMAXENERGY].cDefault, "10^29 J"); options[OPT_FLAREMAXENERGY].dDefault = 1e29; options[OPT_FLAREMAXENERGY].iType = 2; options[OPT_FLAREMAXENERGY].bMultiFile = 1; options[OPT_FLAREMAXENERGY].dNeg = 1e-7; - sprintf(options[OPT_FLAREMAXENERGY].cNeg, "ergs"); + fvFormattedString(&options[OPT_FLAREMAXENERGY].cNeg, "ergs"); fnRead[OPT_FLAREMAXENERGY] = &ReadFlareMaxEnergy; - sprintf(options[OPT_LXUVFLARECONST].cName, "dLXUVFlareConst"); - sprintf(options[OPT_LXUVFLARECONST].cDescr, "XUV luminosity of flares"); - sprintf(options[OPT_LXUVFLARECONST].cDefault, "10^22 Watts or 10^29 erg/s"); + fvFormattedString(&options[OPT_LXUVFLARECONST].cName, "dLXUVFlareConst"); + fvFormattedString(&options[OPT_LXUVFLARECONST].cDescr, "XUV luminosity of flares"); + fvFormattedString(&options[OPT_LXUVFLARECONST].cDefault, "10^22 Watts or 10^29 erg/s"); options[OPT_LXUVFLARECONST].dDefault = 1e22; options[OPT_LXUVFLARECONST].iType = 2; options[OPT_LXUVFLARECONST].bMultiFile = 1; options[OPT_LXUVFLARECONST].dNeg = LSUN; - sprintf(options[OPT_LXUVFLARECONST].cNeg, "LSUN"); - sprintf(options[OPT_LXUVFLARECONST].cDimension, "energy/time"); + fvFormattedString(&options[OPT_LXUVFLARECONST].cNeg, "LSUN"); + fvFormattedString(&options[OPT_LXUVFLARECONST].cDimension, "energy/time"); fnRead[OPT_LXUVFLARECONST] = &ReadLXUVFlareConst; // XXX Change to iEnergyBin for next major release - sprintf(options[OPT_FLAREENERGYBIN].cName, "dEnergyBin"); - sprintf(options[OPT_FLAREENERGYBIN].cDescr, + fvFormattedString(&options[OPT_FLAREENERGYBIN].cName, "dEnergyBin"); + fvFormattedString(&options[OPT_FLAREENERGYBIN].cDescr, "Number of energies consider between the minimum and maximum " "energies to calculate the luminosity by flares"); - sprintf(options[OPT_FLAREENERGYBIN].cDefault, + fvFormattedString(&options[OPT_FLAREENERGYBIN].cDefault, "100 energies between dFlareMinEnergy and dFlareMaxEnergy"); options[OPT_FLAREENERGYBIN].dDefault = 100; options[OPT_FLAREENERGYBIN].iType = 1; options[OPT_FLAREENERGYBIN].bMultiFile = 1; options[OPT_FLAREENERGYBIN].dNeg = 1; - sprintf(options[OPT_FLAREENERGYBIN].cNeg, "None"); + fvFormattedString(&options[OPT_FLAREENERGYBIN].cNeg, "None"); fnRead[OPT_FLAREENERGYBIN] = &ReadFlareEnergyBin; - sprintf(options[OPT_FLAREFFD].cName, "sFlareFFD"); - sprintf(options[OPT_FLAREFFD].cDescr, "Modes of calculate the FFD"); - sprintf(options[OPT_FLAREFFD].cDefault, "DAVENPORT"); - sprintf(options[OPT_FLAREFFD].cValues, "DAVENPORT LACY NONE"); + fvFormattedString(&options[OPT_FLAREFFD].cName, "sFlareFFD"); + fvFormattedString(&options[OPT_FLAREFFD].cDescr, "Modes of calculate the FFD"); + fvFormattedString(&options[OPT_FLAREFFD].cDefault, "DAVENPORT"); + fvFormattedString(&options[OPT_FLAREFFD].cValues, "DAVENPORT LACY NONE"); options[OPT_FLAREFFD].iType = 3; options[OPT_FLAREFFD].bMultiFile = 1; fnRead[OPT_FLAREFFD] = &ReadFlareFFD; - sprintf(options[OPT_FLAREFFD].cLongDescr, + fvFormattedString(&options[OPT_FLAREFFD].cLongDescr, " If DAVENPORT is selected, the code will employ the model\n" "fro Davenport et al.(2019) the user have\n" "to give the mass and Stellar age, dMass and dAge, as well\n" @@ -562,16 +562,16 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { " use the XUV luminosity given by the user in the input \n" "file (dLXUVFlareConst). \n"); - sprintf(options[OPT_FLAREBANDPASS].cName, "sFlareBandPass"); - sprintf(options[OPT_FLAREBANDPASS].cDescr, + fvFormattedString(&options[OPT_FLAREBANDPASS].cName, "sFlareBandPass"); + fvFormattedString(&options[OPT_FLAREBANDPASS].cDescr, "Options of band pass of the input energy of flares"); - sprintf(options[OPT_FLAREBANDPASS].cDefault, "KEPLER"); - sprintf(options[OPT_FLAREBANDPASS].cValues, + fvFormattedString(&options[OPT_FLAREBANDPASS].cDefault, "KEPLER"); + fvFormattedString(&options[OPT_FLAREBANDPASS].cValues, "KEPLER UV GOES SXR BOLOMETRIC TESSUV"); options[OPT_FLAREBANDPASS].iType = 3; options[OPT_FLAREBANDPASS].bMultiFile = 1; fnRead[OPT_FLAREBANDPASS] = &ReadFlareBandPass; - sprintf(options[OPT_FLAREBANDPASS].cLongDescr, + fvFormattedString(&options[OPT_FLAREBANDPASS].cLongDescr, /* "If UV or GOES is selected, the code will convert \n" "the input energy of flares from the UV band \n" @@ -598,15 +598,15 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { "Currently suppressed due to execution errors." ); /* - sprintf(options[OPT_FLARESLOPEUNITS].cName, "sFlareSlopeUnits"); - sprintf(options[OPT_FLARESLOPEUNITS].cDescr, + fvFormattedString(options[OPT_FLARESLOPEUNITS].cName, "sFlareSlopeUnits"); + fvFormattedString(options[OPT_FLARESLOPEUNITS].cDescr, "Options to the units of the FFD in which the FFD slopes are - define"); sprintf(options[OPT_FLARESLOPEUNITS].cDefault, "DAY"); - sprintf(options[OPT_FLARESLOPEUNITS].cValues, "SEC MIN HOUR DAY"); + define"); fvFormattedString(options[OPT_FLARESLOPEUNITS].cDefault, "DAY"); + fvFormattedString(options[OPT_FLARESLOPEUNITS].cValues, "SEC MIN HOUR DAY"); options[OPT_FLARESLOPEUNITS].iType = 3; options[OPT_FLARESLOPEUNITS].bMultiFile = 1; fnRead[OPT_FLARESLOPEUNITS] = &ReadFlareSlopeUnits; - sprintf(options[OPT_FLARESLOPEUNITS].cLongDescr, + fvFormattedString(options[OPT_FLARESLOPEUNITS].cLongDescr, " This option allow the user input the units for the inputed FFD " "slopes. The options are\n" " SEC, for input slopes with FFD in number of flares per seconds, " @@ -1303,70 +1303,70 @@ void WriteFlareEnergyMax(BODY *body, } void InitializeOutputFlare(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_FLAREFREQ1].cName, "FlareFreq1"); - sprintf(output[OUT_FLAREFREQ1].cDescr, + fvFormattedString(&output[OUT_FLAREFREQ1].cName, "FlareFreq1"); + fvFormattedString(&output[OUT_FLAREFREQ1].cDescr, "First value of flare frequency range"); - sprintf(output[OUT_FLAREFREQ1].cNeg, "/day"); + fvFormattedString(&output[OUT_FLAREFREQ1].cNeg, "/day"); output[OUT_FLAREFREQ1].bNeg = 1; output[OUT_FLAREFREQ1].dNeg = DAYSEC; output[OUT_FLAREFREQ1].iNum = 1; output[OUT_FLAREFREQ1].iModuleBit = FLARE; fnWrite[OUT_FLAREFREQ1] = &WriteFlareFreq1; - sprintf(output[OUT_FLAREFREQ2].cName, "FlareFreq2"); - sprintf(output[OUT_FLAREFREQ2].cDescr, + fvFormattedString(&output[OUT_FLAREFREQ2].cName, "FlareFreq2"); + fvFormattedString(&output[OUT_FLAREFREQ2].cDescr, "Second value of flare frequency range"); - sprintf(output[OUT_FLAREFREQ2].cNeg, "/day"); + fvFormattedString(&output[OUT_FLAREFREQ2].cNeg, "/day"); output[OUT_FLAREFREQ2].bNeg = 1; output[OUT_FLAREFREQ2].dNeg = DAYSEC; output[OUT_FLAREFREQ2].iNum = 1; output[OUT_FLAREFREQ2].iModuleBit = FLARE; fnWrite[OUT_FLAREFREQ2] = &WriteFlareFreq2; - sprintf(output[OUT_FLAREFREQ3].cName, "FlareFreq3"); - sprintf(output[OUT_FLAREFREQ3].cDescr, + fvFormattedString(&output[OUT_FLAREFREQ3].cName, "FlareFreq3"); + fvFormattedString(&output[OUT_FLAREFREQ3].cDescr, "Third value of flare frequency range"); - sprintf(output[OUT_FLAREFREQ3].cNeg, "/day"); + fvFormattedString(&output[OUT_FLAREFREQ3].cNeg, "/day"); output[OUT_FLAREFREQ3].bNeg = 1; output[OUT_FLAREFREQ3].dNeg = DAYSEC; output[OUT_FLAREFREQ3].iNum = 1; output[OUT_FLAREFREQ3].iModuleBit = FLARE; fnWrite[OUT_FLAREFREQ3] = &WriteFlareFreq3; - sprintf(output[OUT_FLAREFREQ4].cName, "FlareFreq4"); - sprintf(output[OUT_FLAREFREQ4].cDescr, + fvFormattedString(&output[OUT_FLAREFREQ4].cName, "FlareFreq4"); + fvFormattedString(&output[OUT_FLAREFREQ4].cDescr, "Fourth value of flare frequency range"); - sprintf(output[OUT_FLAREFREQ4].cNeg, "/day"); + fvFormattedString(&output[OUT_FLAREFREQ4].cNeg, "/day"); output[OUT_FLAREFREQ4].bNeg = 1; output[OUT_FLAREFREQ4].dNeg = DAYSEC; output[OUT_FLAREFREQ4].iNum = 1; output[OUT_FLAREFREQ4].iModuleBit = FLARE; fnWrite[OUT_FLAREFREQ4] = &WriteFlareFreq4; - sprintf(output[OUT_FLAREFREQMIN].cName, "FlareFreqMin"); - sprintf(output[OUT_FLAREFREQMIN].cDescr, + fvFormattedString(&output[OUT_FLAREFREQMIN].cName, "FlareFreqMin"); + fvFormattedString(&output[OUT_FLAREFREQMIN].cDescr, "Frequency of the flares with the lowest energy"); - sprintf(output[OUT_FLAREFREQMIN].cNeg, "/day"); + fvFormattedString(&output[OUT_FLAREFREQMIN].cNeg, "/day"); output[OUT_FLAREFREQMIN].bNeg = 1; output[OUT_FLAREFREQMIN].dNeg = DAYSEC; output[OUT_FLAREFREQMIN].iNum = 1; output[OUT_FLAREFREQMIN].iModuleBit = FLARE; fnWrite[OUT_FLAREFREQMIN] = &WriteFlareFreqMin; - sprintf(output[OUT_FLAREFREQMID].cName, "FlareFreqMid"); - sprintf(output[OUT_FLAREFREQMID].cDescr, + fvFormattedString(&output[OUT_FLAREFREQMID].cName, "FlareFreqMid"); + fvFormattedString(&output[OUT_FLAREFREQMID].cDescr, "Frequency of the flares with the middle energy in the energy range"); - sprintf(output[OUT_FLAREFREQMID].cNeg, "/day"); + fvFormattedString(&output[OUT_FLAREFREQMID].cNeg, "/day"); output[OUT_FLAREFREQMID].bNeg = 1; output[OUT_FLAREFREQMID].dNeg = DAYSEC; output[OUT_FLAREFREQMID].iNum = 1; output[OUT_FLAREFREQMID].iModuleBit = FLARE; fnWrite[OUT_FLAREFREQMID] = &WriteFlareFreqMid; - sprintf(output[OUT_FLAREFREQMAX].cName, "FlareFreqMax"); - sprintf(output[OUT_FLAREFREQMAX].cDescr, + fvFormattedString(&output[OUT_FLAREFREQMAX].cName, "FlareFreqMax"); + fvFormattedString(&output[OUT_FLAREFREQMAX].cDescr, "Frequency of the flares with the highest energy"); - sprintf(output[OUT_FLAREFREQMAX].cNeg, "/day"); + fvFormattedString(&output[OUT_FLAREFREQMAX].cNeg, "/day"); output[OUT_FLAREFREQMAX].bNeg = 1; output[OUT_FLAREFREQMAX].dNeg = DAYSEC; output[OUT_FLAREFREQMAX].iNum = 1; @@ -1374,66 +1374,66 @@ void InitializeOutputFlare(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_FLAREFREQMAX] = &WriteFlareFreqMax; - sprintf(output[OUT_FLAREENERGY1].cName, "FlareEnergy1"); - sprintf(output[OUT_FLAREENERGY1].cDescr, "First value of flare energy range"); - sprintf(output[OUT_FLAREENERGY1].cNeg, "ergs"); + fvFormattedString(&output[OUT_FLAREENERGY1].cName, "FlareEnergy1"); + fvFormattedString(&output[OUT_FLAREENERGY1].cDescr, "First value of flare energy range"); + fvFormattedString(&output[OUT_FLAREENERGY1].cNeg, "ergs"); output[OUT_FLAREENERGY1].bNeg = 1; output[OUT_FLAREENERGY1].dNeg = 1.0e7; output[OUT_FLAREENERGY1].iNum = 1; output[OUT_FLAREENERGY1].iModuleBit = FLARE; fnWrite[OUT_FLAREENERGY1] = &WriteFlareEnergy1; - sprintf(output[OUT_FLAREENERGY2].cName, "FlareEnergy2"); - sprintf(output[OUT_FLAREENERGY2].cDescr, + fvFormattedString(&output[OUT_FLAREENERGY2].cName, "FlareEnergy2"); + fvFormattedString(&output[OUT_FLAREENERGY2].cDescr, "Second value of flare energy range"); - sprintf(output[OUT_FLAREENERGY2].cNeg, "ergs"); + fvFormattedString(&output[OUT_FLAREENERGY2].cNeg, "ergs"); output[OUT_FLAREENERGY2].bNeg = 1; output[OUT_FLAREENERGY2].dNeg = 1.0e7; output[OUT_FLAREENERGY2].iNum = 1; output[OUT_FLAREENERGY2].iModuleBit = FLARE; fnWrite[OUT_FLAREENERGY2] = &WriteFlareEnergy2; - sprintf(output[OUT_FLAREENERGY3].cName, "FlareEnergy3"); - sprintf(output[OUT_FLAREENERGY3].cDescr, "Third value of flare energy range"); - sprintf(output[OUT_FLAREENERGY3].cNeg, "ergs"); + fvFormattedString(&output[OUT_FLAREENERGY3].cName, "FlareEnergy3"); + fvFormattedString(&output[OUT_FLAREENERGY3].cDescr, "Third value of flare energy range"); + fvFormattedString(&output[OUT_FLAREENERGY3].cNeg, "ergs"); output[OUT_FLAREENERGY3].bNeg = 1; output[OUT_FLAREENERGY3].dNeg = 1.0e7; output[OUT_FLAREENERGY3].iNum = 1; output[OUT_FLAREENERGY3].iModuleBit = FLARE; fnWrite[OUT_FLAREENERGY3] = &WriteFlareEnergy3; - sprintf(output[OUT_FLAREENERGY4].cName, "FlareEnergy4"); - sprintf(output[OUT_FLAREENERGY4].cDescr, + fvFormattedString(&output[OUT_FLAREENERGY4].cName, "FlareEnergy4"); + fvFormattedString(&output[OUT_FLAREENERGY4].cDescr, "Fourth value of flare energy range"); - sprintf(output[OUT_FLAREENERGY4].cNeg, "ergs"); + fvFormattedString(&output[OUT_FLAREENERGY4].cNeg, "ergs"); output[OUT_FLAREENERGY4].bNeg = 1; output[OUT_FLAREENERGY4].dNeg = 1.0e7; output[OUT_FLAREENERGY4].iNum = 1; output[OUT_FLAREENERGY4].iModuleBit = FLARE; fnWrite[OUT_FLAREENERGY4] = &WriteFlareEnergy4; - sprintf(output[OUT_FLAREENERGYMIN].cName, "FlareEnergyMin"); - sprintf(output[OUT_FLAREENERGYMIN].cDescr, "Minimum flare energy"); - sprintf(output[OUT_FLAREENERGYMIN].cNeg, "ergs"); + fvFormattedString(&output[OUT_FLAREENERGYMIN].cName, "FlareEnergyMin"); + fvFormattedString(&output[OUT_FLAREENERGYMIN].cDescr, "Minimum flare energy"); + fvFormattedString(&output[OUT_FLAREENERGYMIN].cNeg, "ergs"); output[OUT_FLAREENERGYMIN].bNeg = 1; output[OUT_FLAREENERGYMIN].dNeg = 1.0e7; output[OUT_FLAREENERGYMIN].iNum = 1; output[OUT_FLAREENERGYMIN].iModuleBit = FLARE; fnWrite[OUT_FLAREENERGYMIN] = &WriteFlareEnergyMin; - sprintf(output[OUT_FLAREENERGYMID].cName, "FlareEnergyMid"); - sprintf(output[OUT_FLAREENERGYMID].cDescr, + fvFormattedString(&output[OUT_FLAREENERGYMID].cName, "FlareEnergyMid"); + fvFormattedString(&output[OUT_FLAREENERGYMID].cDescr, "Middle flare energy in the range of energy values"); - sprintf(output[OUT_FLAREENERGYMID].cNeg, "ergs"); + fvFormattedString(&output[OUT_FLAREENERGYMID].cNeg, "ergs"); output[OUT_FLAREENERGYMID].bNeg = 1; output[OUT_FLAREENERGYMID].dNeg = 1.0e7; output[OUT_FLAREENERGYMID].iNum = 1; output[OUT_FLAREENERGYMID].iModuleBit = FLARE; fnWrite[OUT_FLAREENERGYMID] = &WriteFlareEnergyMid; - sprintf(output[OUT_FLAREENERGYMAX].cName, "FlareEnergyMax"); - sprintf(output[OUT_FLAREENERGYMAX].cDescr, "Maximum flare energy"); - sprintf(output[OUT_FLAREENERGYMAX].cNeg, "ergs"); + fvFormattedString(&output[OUT_FLAREENERGYMAX].cName, "FlareEnergyMax"); + fvFormattedString(&output[OUT_FLAREENERGYMAX].cDescr, "Maximum flare energy"); + fvFormattedString(&output[OUT_FLAREENERGYMAX].cNeg, "ergs"); output[OUT_FLAREENERGYMAX].bNeg = 1; output[OUT_FLAREENERGYMAX].dNeg = 1.0e7; output[OUT_FLAREENERGYMAX].iNum = 1; @@ -1441,9 +1441,9 @@ void InitializeOutputFlare(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_FLAREENERGYMAX] = &WriteFlareEnergyMax; - sprintf(output[OUT_LXUVFLARE].cName, "LXUVFlare"); - sprintf(output[OUT_LXUVFLARE].cDescr, "XUV Luminosity from flares"); - sprintf(output[OUT_LXUVFLARE].cNeg, "LSUN"); + fvFormattedString(&output[OUT_LXUVFLARE].cName, "LXUVFlare"); + fvFormattedString(&output[OUT_LXUVFLARE].cDescr, "XUV Luminosity from flares"); + fvFormattedString(&output[OUT_LXUVFLARE].cNeg, "LSUN"); output[OUT_LXUVFLARE].bNeg = 1; output[OUT_LXUVFLARE].dNeg = 1. / LSUN; output[OUT_LXUVFLARE].iNum = 1; @@ -1452,22 +1452,22 @@ void InitializeOutputFlare(OUTPUT *output, fnWriteOutput fnWrite[]) { // TODO: Include the error in the FFD slopes to calculate the upper and higher // limit of XUV luminosity by flares - /*sprintf(output[OUT_LXUVFLAREUPPER].cName, "LXUVFlareUpper"); - sprintf(output[OUT_LXUVFLAREUPPER].cDescr, + /*fvFormattedString(output[OUT_LXUVFLAREUPPER].cName, "LXUVFlareUpper"); + fvFormattedString(output[OUT_LXUVFLAREUPPER].cDescr, "Upper limit value to XUV Luminosity from flares when considerer " "flare rate slope and Y-intercept errors"); - sprintf(output[OUT_LXUVFLAREUPPER].cNeg, "LSUN"); + fvFormattedString(output[OUT_LXUVFLAREUPPER].cNeg, "LSUN"); output[OUT_LXUVFLAREUPPER].bNeg = 1; output[OUT_LXUVFLAREUPPER].dNeg = 1. / LSUN; output[OUT_LXUVFLAREUPPER].iNum = 1; output[OUT_LXUVFLAREUPPER].iModuleBit = FLARE; fnWrite[OUT_LXUVFLAREUPPER] = &WriteLXUVFlareUpper; - sprintf(output[OUT_LXUVFLARELOWER].cName, "LXUVFlareLower"); - sprintf(output[OUT_LXUVFLARELOWER].cDescr, + fvFormattedString(output[OUT_LXUVFLARELOWER].cName, "LXUVFlareLower"); + fvFormattedString(output[OUT_LXUVFLARELOWER].cDescr, "Lower limit value to XUV Luminosity from flares when considerer " "flare rate slope and Y-intercept errors"); - sprintf(output[OUT_LXUVFLARELOWER].cNeg, "LSUN"); + fvFormattedString(output[OUT_LXUVFLARELOWER].cNeg, "LSUN"); output[OUT_LXUVFLARELOWER].bNeg = 1; output[OUT_LXUVFLARELOWER].dNeg = 1. / LSUN; output[OUT_LXUVFLARELOWER].iNum = 1; diff --git a/src/galhabit.c b/src/galhabit.c index e08a7b26b..0d614bc29 100644 --- a/src/galhabit.c +++ b/src/galhabit.c @@ -573,199 +573,199 @@ void ReadHostBinMass1(BODY *body, CONTROL *control, FILES *files, } void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { - sprintf(options[OPT_GALACDENSITY].cName, "dGalacDensity"); - sprintf(options[OPT_GALACDENSITY].cDescr, "Density of galactic environment"); - sprintf(options[OPT_GALACDENSITY].cDefault, + fvFormattedString(&options[OPT_GALACDENSITY].cName, "dGalacDensity"); + fvFormattedString(&options[OPT_GALACDENSITY].cDescr, "Density of galactic environment"); + fvFormattedString(&options[OPT_GALACDENSITY].cDefault, "0.102"); // need to find updated value - sprintf(options[OPT_GALACDENSITY].cDimension, "mass/length^3"); + fvFormattedString(&options[OPT_GALACDENSITY].cDimension, "mass/length^3"); options[OPT_GALACDENSITY].dDefault = 0.102; options[OPT_GALACDENSITY].iType = 2; options[OPT_GALACDENSITY].bMultiFile = 0; fnRead[OPT_GALACDENSITY] = &ReadGalacDensity; - sprintf(options[OPT_RANDSEED].cName, "iRandSeed"); - sprintf(options[OPT_RANDSEED].cDescr, + fvFormattedString(&options[OPT_RANDSEED].cName, "iRandSeed"); + fvFormattedString(&options[OPT_RANDSEED].cDescr, "Seed for random number generator (stellar encounters)"); - sprintf(options[OPT_RANDSEED].cDefault, "42"); + fvFormattedString(&options[OPT_RANDSEED].cDefault, "42"); options[OPT_RANDSEED].dDefault = 42; options[OPT_RANDSEED].iType = 1; options[OPT_RANDSEED].bMultiFile = 0; fnRead[OPT_RANDSEED] = &ReadRandSeed; - sprintf(options[OPT_ENCOUNTERRAD].cName, "dEncounterRad"); - sprintf(options[OPT_ENCOUNTERRAD].cDescr, + fvFormattedString(&options[OPT_ENCOUNTERRAD].cName, "dEncounterRad"); + fvFormattedString(&options[OPT_ENCOUNTERRAD].cDescr, "Radius at which stellar encounters occur"); - sprintf(options[OPT_ENCOUNTERRAD].cDefault, "206265 AU"); - sprintf(options[OPT_ENCOUNTERRAD].cDimension, "length"); + fvFormattedString(&options[OPT_ENCOUNTERRAD].cDefault, "206265 AU"); + fvFormattedString(&options[OPT_ENCOUNTERRAD].cDimension, "length"); options[OPT_ENCOUNTERRAD].dDefault = 206265.0 * AUM; options[OPT_ENCOUNTERRAD].iType = 2; options[OPT_ENCOUNTERRAD].bMultiFile = 0; fnRead[OPT_ENCOUNTERRAD] = &ReadEncounterRad; - sprintf(options[OPT_RFORM].cName, "dRForm"); - sprintf(options[OPT_RFORM].cDescr, "Galactic formation radius"); - sprintf(options[OPT_RFORM].cDefault, "4.5 kpc"); - sprintf(options[OPT_RFORM].cDimension, "length"); + fvFormattedString(&options[OPT_RFORM].cName, "dRForm"); + fvFormattedString(&options[OPT_RFORM].cDescr, "Galactic formation radius"); + fvFormattedString(&options[OPT_RFORM].cDefault, "4.5 kpc"); + fvFormattedString(&options[OPT_RFORM].cDimension, "length"); options[OPT_RFORM].dDefault = 4.5; options[OPT_RFORM].iType = 2; options[OPT_RFORM].bMultiFile = 0; fnRead[OPT_RFORM] = &ReadRForm; - sprintf(options[OPT_TMIGRATION].cName, "dTMigration"); - sprintf(options[OPT_TMIGRATION].cDescr, "Time of radial migration"); - sprintf(options[OPT_TMIGRATION].cDefault, "3 Gy"); - sprintf(options[OPT_TMIGRATION].cDimension, "time"); + fvFormattedString(&options[OPT_TMIGRATION].cName, "dTMigration"); + 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; options[OPT_TMIGRATION].iType = 2; options[OPT_TMIGRATION].bMultiFile = 0; options[OPT_TMIGRATION].dNeg = YEARSEC; - sprintf(options[OPT_TMIGRATION].cNeg, "Years"); + fvFormattedString(&options[OPT_TMIGRATION].cNeg, "Years"); fnRead[OPT_TMIGRATION] = &ReadTMigration; - sprintf(options[OPT_RADIALMIGR].cName, "bRadialMigr"); - sprintf(options[OPT_RADIALMIGR].cDescr, "Use radial migration?"); - sprintf(options[OPT_RADIALMIGR].cDefault, "0"); + fvFormattedString(&options[OPT_RADIALMIGR].cName, "bRadialMigr"); + fvFormattedString(&options[OPT_RADIALMIGR].cDescr, "Use radial migration?"); + fvFormattedString(&options[OPT_RADIALMIGR].cDefault, "0"); options[OPT_RADIALMIGR].dDefault = 0; options[OPT_RADIALMIGR].iType = 0; options[OPT_RADIALMIGR].bMultiFile = 0; fnRead[OPT_RADIALMIGR] = &ReadRadialMigr; - sprintf(options[OPT_GASDENSITY].cName, "dGasDensity"); - sprintf(options[OPT_GASDENSITY].cDescr, "Local ISM density"); - sprintf(options[OPT_GASDENSITY].cDefault, "0.05 Msun pc^3"); - sprintf(options[OPT_GASDENSITY].cDimension, "mass/length^3"); + fvFormattedString(&options[OPT_GASDENSITY].cName, "dGasDensity"); + fvFormattedString(&options[OPT_GASDENSITY].cDescr, "Local ISM density"); + fvFormattedString(&options[OPT_GASDENSITY].cDefault, "0.05 Msun pc^3"); + fvFormattedString(&options[OPT_GASDENSITY].cDimension, "mass/length^3"); options[OPT_GASDENSITY].dDefault = 0.05; options[OPT_GASDENSITY].iType = 2; options[OPT_GASDENSITY].bMultiFile = 0; fnRead[OPT_GASDENSITY] = &ReadGasDensity; - sprintf(options[OPT_DMDENSITY].cName, "dDMDensity"); - sprintf(options[OPT_DMDENSITY].cDescr, "Local dark matter density"); - sprintf(options[OPT_DMDENSITY].cDefault, "0.01 Msun pc^3"); - sprintf(options[OPT_DMDENSITY].cDimension, "mass/length^3"); + fvFormattedString(&options[OPT_DMDENSITY].cName, "dDMDensity"); + 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; options[OPT_DMDENSITY].iType = 2; options[OPT_DMDENSITY].bMultiFile = 0; fnRead[OPT_DMDENSITY] = &ReadDMDensity; - sprintf(options[OPT_STARSCALEL].cName, "dStarScaleL"); - sprintf(options[OPT_STARSCALEL].cDescr, "Stellar radial scale length in MW"); - sprintf(options[OPT_STARSCALEL].cDefault, "2.4 kpc"); - sprintf(options[OPT_STARSCALEL].cDimension, "length"); + fvFormattedString(&options[OPT_STARSCALEL].cName, "dStarScaleL"); + 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; options[OPT_STARSCALEL].iType = 2; options[OPT_STARSCALEL].bMultiFile = 0; fnRead[OPT_STARSCALEL] = &ReadStarScaleL; - sprintf(options[OPT_STELLARENC].cName, "bStellarEnc"); - sprintf(options[OPT_STELLARENC].cDescr, "Model stellar encounters?"); - sprintf(options[OPT_STELLARENC].cDefault, "1"); + fvFormattedString(&options[OPT_STELLARENC].cName, "bStellarEnc"); + fvFormattedString(&options[OPT_STELLARENC].cDescr, "Model stellar encounters?"); + fvFormattedString(&options[OPT_STELLARENC].cDefault, "1"); options[OPT_STELLARENC].dDefault = 1; options[OPT_STELLARENC].iType = 0; options[OPT_STELLARENC].bMultiFile = 0; fnRead[OPT_STELLARENC] = &ReadStellarEnc; - sprintf(options[OPT_OUTPUTENC].cName, "bOutputEnc"); - sprintf(options[OPT_OUTPUTENC].cDescr, + fvFormattedString(&options[OPT_OUTPUTENC].cName, "bOutputEnc"); + fvFormattedString(&options[OPT_OUTPUTENC].cDescr, "Output stellar encounter information?"); - sprintf(options[OPT_OUTPUTENC].cDefault, "0"); + fvFormattedString(&options[OPT_OUTPUTENC].cDefault, "0"); options[OPT_OUTPUTENC].dDefault = 0; options[OPT_OUTPUTENC].iType = 0; options[OPT_OUTPUTENC].bMultiFile = 0; fnRead[OPT_OUTPUTENC] = &ReadOutputEnc; - sprintf(options[OPT_TIMEEVOLVELDISP].cName, "bTimeEvolVelDisp"); - sprintf(options[OPT_TIMEEVOLVELDISP].cDescr, + fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cName, "bTimeEvolVelDisp"); + fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cDescr, "Scale velocity dispersion of stars with sqrt(t)?"); - sprintf(options[OPT_TIMEEVOLVELDISP].cDefault, "1"); - sprintf(options[OPT_TIMEEVOLVELDISP].cDimension, "length/time"); + fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cDefault, "1"); + fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cDimension, "length/time"); options[OPT_TIMEEVOLVELDISP].dDefault = 1; options[OPT_TIMEEVOLVELDISP].iType = 0; options[OPT_TIMEEVOLVELDISP].bMultiFile = 0; fnRead[OPT_TIMEEVOLVELDISP] = &ReadTimeEvolVelDisp; - sprintf(options[OPT_HOSTBINARY].cName, "bHostBinary"); - sprintf(options[OPT_HOSTBINARY].cDescr, + fvFormattedString(&options[OPT_HOSTBINARY].cName, "bHostBinary"); + fvFormattedString(&options[OPT_HOSTBINARY].cDescr, "Include 3 body interactions with binary star"); - sprintf(options[OPT_HOSTBINARY].cDefault, "0"); + fvFormattedString(&options[OPT_HOSTBINARY].cDefault, "0"); options[OPT_HOSTBINARY].dDefault = 0; options[OPT_HOSTBINARY].iType = 0; options[OPT_HOSTBINARY].bMultiFile = 0; fnRead[OPT_HOSTBINARY] = &ReadHostBinary; - sprintf(options[OPT_GALACTIDES].cName, "bGalacTides"); - sprintf(options[OPT_GALACTIDES].cDescr, "Include galactic tides"); - sprintf(options[OPT_GALACTIDES].cDefault, "1"); + fvFormattedString(&options[OPT_GALACTIDES].cName, "bGalacTides"); + fvFormattedString(&options[OPT_GALACTIDES].cDescr, "Include galactic tides"); + fvFormattedString(&options[OPT_GALACTIDES].cDefault, "1"); options[OPT_GALACTIDES].dDefault = 1; options[OPT_GALACTIDES].iType = 0; options[OPT_GALACTIDES].bMultiFile = 0; fnRead[OPT_GALACTIDES] = &ReadGalacTides; - sprintf(options[OPT_MINSTELLARAPPROACH].cName, "dMinStellarApproach"); - sprintf(options[OPT_MINSTELLARAPPROACH].cDescr, + fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cName, "dMinStellarApproach"); + fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cDescr, "Minimum close approach distance to primary"); - sprintf(options[OPT_MINSTELLARAPPROACH].cDefault, "1 AU"); - sprintf(options[OPT_MINSTELLARAPPROACH].cDimension, "length"); + fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cDefault, "1 AU"); + fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cDimension, "length"); options[OPT_MINSTELLARAPPROACH].dDefault = AUM; options[OPT_MINSTELLARAPPROACH].iType = 2; options[OPT_MINSTELLARAPPROACH].bMultiFile = 0; options[OPT_MINSTELLARAPPROACH].dNeg = AUM; - sprintf(options[OPT_MINSTELLARAPPROACH].cNeg, "AU"); + fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cNeg, "AU"); fnRead[OPT_MINSTELLARAPPROACH] = &ReadMinStellarApproach; - sprintf(options[OPT_HOSTBINECC].cName, "dHostBinEcc"); - sprintf(options[OPT_HOSTBINECC].cDescr, "eccentricity of host binary"); - sprintf(options[OPT_HOSTBINECC].cDefault, "0.51"); - sprintf(options[OPT_HOSTBINECC].cDimension, "nd"); + fvFormattedString(&options[OPT_HOSTBINECC].cName, "dHostBinEcc"); + 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; options[OPT_HOSTBINECC].iType = 2; options[OPT_HOSTBINECC].bMultiFile = 0; fnRead[OPT_HOSTBINECC] = &ReadHostBinEcc; - sprintf(options[OPT_HOSTBINSEMI].cName, "dHostBinSemi"); - sprintf(options[OPT_HOSTBINSEMI].cDescr, "Semi-major of host binary"); - sprintf(options[OPT_HOSTBINSEMI].cDefault, "17.57 AU"); - sprintf(options[OPT_HOSTBINSEMI].cDimension, "length"); + fvFormattedString(&options[OPT_HOSTBINSEMI].cName, "dHostBinSemi"); + 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; options[OPT_HOSTBINSEMI].iType = 2; options[OPT_HOSTBINSEMI].bMultiFile = 0; options[OPT_HOSTBINSEMI].dNeg = AUM; - sprintf(options[OPT_HOSTBINSEMI].cNeg, "AU"); + fvFormattedString(&options[OPT_HOSTBINSEMI].cNeg, "AU"); fnRead[OPT_HOSTBINSEMI] = &ReadHostBinSemi; - sprintf(options[OPT_HOSTBININC].cName, "dHostBinInc"); - sprintf(options[OPT_HOSTBININC].cDescr, "inclination of host binary"); - sprintf(options[OPT_HOSTBININC].cDefault, "60.0 deg"); - sprintf(options[OPT_HOSTBININC].cDimension, "angle"); + fvFormattedString(&options[OPT_HOSTBININC].cName, "dHostBinInc"); + 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; options[OPT_HOSTBININC].iType = 2; options[OPT_HOSTBININC].bMultiFile = 0; fnRead[OPT_HOSTBININC] = &ReadHostBinInc; - sprintf(options[OPT_HOSTBINARGP].cName, "dHostBinArgP"); - sprintf(options[OPT_HOSTBINARGP].cDescr, "Arg periapse of host binary"); - sprintf(options[OPT_HOSTBINARGP].cDefault, "0.0"); - sprintf(options[OPT_HOSTBINARGP].cDimension, "angle"); + fvFormattedString(&options[OPT_HOSTBINARGP].cName, "dHostBinArgP"); + 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; options[OPT_HOSTBINARGP].iType = 2; options[OPT_HOSTBINARGP].bMultiFile = 0; fnRead[OPT_HOSTBINARGP] = &ReadHostBinArgP; - sprintf(options[OPT_HOSTBINLONGA].cName, "dHostBinLongA"); - sprintf(options[OPT_HOSTBINLONGA].cDescr, + fvFormattedString(&options[OPT_HOSTBINLONGA].cName, "dHostBinLongA"); + fvFormattedString(&options[OPT_HOSTBINLONGA].cDescr, "Long of ascending node of host binary"); - sprintf(options[OPT_HOSTBINLONGA].cDefault, "0.0"); - sprintf(options[OPT_HOSTBINLONGA].cDimension, "angle"); + fvFormattedString(&options[OPT_HOSTBINLONGA].cDefault, "0.0"); + fvFormattedString(&options[OPT_HOSTBINLONGA].cDimension, "angle"); options[OPT_HOSTBINLONGA].dDefault = 0.0; options[OPT_HOSTBINLONGA].iType = 2; options[OPT_HOSTBINLONGA].bMultiFile = 0; fnRead[OPT_HOSTBINLONGA] = &ReadHostBinLongA; - sprintf(options[OPT_HOSTBINMASS1].cName, "dHostBinMass1"); - sprintf(options[OPT_HOSTBINMASS1].cDescr, "mass of larger host binary star"); - sprintf(options[OPT_HOSTBINMASS1].cDefault, "1.1 Msun"); - sprintf(options[OPT_HOSTBINMASS1].cDimension, "mass"); + fvFormattedString(&options[OPT_HOSTBINMASS1].cName, "dHostBinMass1"); + 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; options[OPT_HOSTBINMASS1].iType = 2; options[OPT_HOSTBINMASS1].bMultiFile = 0; @@ -1076,7 +1076,7 @@ void VerifyGalHabit(BODY *body, CONTROL *control, FILES *files, int i, iEqn; int n; double dSigma, dDMR, dStarR, dGasR, dCurrentAge; - char cOut[3 * NAMELEN]; + char *cOut; FILE *fOut; srand(system->iSeed); @@ -1164,7 +1164,7 @@ void VerifyGalHabit(BODY *body, CONTROL *control, FILES *files, if (iBody >= 1) { if (system->bOutputEnc) { - sprintf(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 " @@ -1661,121 +1661,121 @@ void WriteDArgPDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_PERIQ].cName, "PeriQ"); - sprintf(output[OUT_PERIQ].cDescr, "Pericenter distance"); - sprintf(output[OUT_PERIQ].cNeg, "AU"); + fvFormattedString(&output[OUT_PERIQ].cName, "PeriQ"); + fvFormattedString(&output[OUT_PERIQ].cDescr, "Pericenter distance"); + fvFormattedString(&output[OUT_PERIQ].cNeg, "AU"); output[OUT_PERIQ].bNeg = 1; output[OUT_PERIQ].dNeg = 1. / AUM; output[OUT_PERIQ].iNum = 1; output[OUT_PERIQ].iModuleBit = GALHABIT; fnWrite[OUT_PERIQ] = &WriteBodyPeriQ; - sprintf(output[OUT_ECCX].cName, "EccX"); - sprintf(output[OUT_ECCX].cDescr, "X component of ecc vector"); - sprintf(output[OUT_ECCX].cNeg, " "); + fvFormattedString(&output[OUT_ECCX].cName, "EccX"); + fvFormattedString(&output[OUT_ECCX].cDescr, "X component of ecc vector"); + fvFormattedString(&output[OUT_ECCX].cNeg, " "); output[OUT_ECCX].bNeg = 0; output[OUT_ECCX].iNum = 1; output[OUT_ECCX].iModuleBit = GALHABIT; fnWrite[OUT_ECCX] = &WriteBodyEccX; - sprintf(output[OUT_ECCY].cName, "EccY"); - sprintf(output[OUT_ECCY].cDescr, "Y component of ecc vector"); - sprintf(output[OUT_ECCY].cNeg, " "); + fvFormattedString(&output[OUT_ECCY].cName, "EccY"); + fvFormattedString(&output[OUT_ECCY].cDescr, "Y component of ecc vector"); + fvFormattedString(&output[OUT_ECCY].cNeg, " "); output[OUT_ECCY].bNeg = 0; output[OUT_ECCY].iNum = 1; output[OUT_ECCY].iModuleBit = GALHABIT; fnWrite[OUT_ECCY] = &WriteBodyEccY; - sprintf(output[OUT_ECCZ].cName, "EccZ"); - sprintf(output[OUT_ECCZ].cDescr, "Z component of ecc vector"); - sprintf(output[OUT_ECCZ].cNeg, " "); + fvFormattedString(&output[OUT_ECCZ].cName, "EccZ"); + fvFormattedString(&output[OUT_ECCZ].cDescr, "Z component of ecc vector"); + fvFormattedString(&output[OUT_ECCZ].cNeg, " "); output[OUT_ECCZ].bNeg = 0; output[OUT_ECCZ].iNum = 1; output[OUT_ECCZ].iModuleBit = GALHABIT; fnWrite[OUT_ECCZ] = &WriteBodyEccZ; - sprintf(output[OUT_ANGMX].cName, "AngMX"); - sprintf(output[OUT_ANGMX].cDescr, "X component of angular mom vector"); - sprintf(output[OUT_ANGMX].cNeg, " "); + fvFormattedString(&output[OUT_ANGMX].cName, "AngMX"); + 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; output[OUT_ANGMX].iModuleBit = GALHABIT; fnWrite[OUT_ANGMX] = &WriteBodyAngMX; - sprintf(output[OUT_ANGMY].cName, "AngMY"); - sprintf(output[OUT_ANGMY].cDescr, "Y component of angular mom vector"); - sprintf(output[OUT_ANGMY].cNeg, " "); + fvFormattedString(&output[OUT_ANGMY].cName, "AngMY"); + 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; output[OUT_ANGMY].iModuleBit = GALHABIT; fnWrite[OUT_ANGMY] = &WriteBodyAngMY; - sprintf(output[OUT_ANGMZ].cName, "AngMZ"); - sprintf(output[OUT_ANGMZ].cDescr, "Z component of angular mom vector"); - sprintf(output[OUT_ANGMZ].cNeg, " "); + fvFormattedString(&output[OUT_ANGMZ].cName, "AngMZ"); + 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; output[OUT_ANGMZ].iModuleBit = GALHABIT; fnWrite[OUT_ANGMZ] = &WriteBodyAngMZ; - sprintf(output[OUT_NENCOUNTERS].cName, "NEncounters"); - sprintf(output[OUT_NENCOUNTERS].cDescr, + fvFormattedString(&output[OUT_NENCOUNTERS].cName, "NEncounters"); + fvFormattedString(&output[OUT_NENCOUNTERS].cDescr, "cumulative number of stellar encounters"); - sprintf(output[OUT_NENCOUNTERS].cNeg, " "); + fvFormattedString(&output[OUT_NENCOUNTERS].cNeg, " "); output[OUT_NENCOUNTERS].bNeg = 0; output[OUT_NENCOUNTERS].iNum = 1; output[OUT_NENCOUNTERS].iModuleBit = GALHABIT; fnWrite[OUT_NENCOUNTERS] = &WriteNEncounters; - sprintf(output[OUT_NBADIMPULSE].cName, "NBadImpulse"); - sprintf(output[OUT_NBADIMPULSE].cDescr, + fvFormattedString(&output[OUT_NBADIMPULSE].cName, "NBadImpulse"); + fvFormattedString(&output[OUT_NBADIMPULSE].cDescr, "cumulative number of questionable encounters"); - sprintf(output[OUT_NBADIMPULSE].cNeg, " "); + fvFormattedString(&output[OUT_NBADIMPULSE].cNeg, " "); output[OUT_NBADIMPULSE].bNeg = 0; output[OUT_NBADIMPULSE].iNum = 1; output[OUT_NBADIMPULSE].iModuleBit = GALHABIT; fnWrite[OUT_NBADIMPULSE] = &WriteNBadImpulse; - sprintf(output[OUT_FVELDISP].cName, "FVelDisp"); - sprintf(output[OUT_FVELDISP].cDescr, + fvFormattedString(&output[OUT_FVELDISP].cName, "FVelDisp"); + fvFormattedString(&output[OUT_FVELDISP].cDescr, "Scaling factor for velocity dispersion"); - sprintf(output[OUT_FVELDISP].cNeg, " "); + fvFormattedString(&output[OUT_FVELDISP].cNeg, " "); output[OUT_FVELDISP].bNeg = 0; output[OUT_FVELDISP].iNum = 1; output[OUT_FVELDISP].iModuleBit = GALHABIT; fnWrite[OUT_FVELDISP] = &WriteFVelDisp; - sprintf(output[OUT_DECCDTGALHTIDAL].cName, "DEccDtGalHTidal"); - sprintf(output[OUT_DECCDTGALHTIDAL].cDescr, + fvFormattedString(&output[OUT_DECCDTGALHTIDAL].cName, "DEccDtGalHTidal"); + fvFormattedString(&output[OUT_DECCDTGALHTIDAL].cDescr, "Body's tidal decc/dt in GalHabit"); - sprintf(output[OUT_DECCDTGALHTIDAL].cNeg, "1/year"); + fvFormattedString(&output[OUT_DECCDTGALHTIDAL].cNeg, "1/year"); output[OUT_DECCDTGALHTIDAL].bNeg = 1; output[OUT_DECCDTGALHTIDAL].dNeg = YEARSEC; output[OUT_DECCDTGALHTIDAL].iModuleBit = GALHABIT; fnWrite[OUT_DECCDTGALHTIDAL] = &WriteDEccDtGalHTidal; - sprintf(output[OUT_DINCDTGALHTIDAL].cName, "DIncDtGalHTidal"); - sprintf(output[OUT_DINCDTGALHTIDAL].cDescr, + fvFormattedString(&output[OUT_DINCDTGALHTIDAL].cName, "DIncDtGalHTidal"); + fvFormattedString(&output[OUT_DINCDTGALHTIDAL].cDescr, "Body's tidal dinc/dt in GalHabit"); - sprintf(output[OUT_DINCDTGALHTIDAL].cNeg, "1/year"); + fvFormattedString(&output[OUT_DINCDTGALHTIDAL].cNeg, "1/year"); output[OUT_DINCDTGALHTIDAL].bNeg = 1; output[OUT_DINCDTGALHTIDAL].dNeg = YEARSEC / DEGRAD; output[OUT_DINCDTGALHTIDAL].iModuleBit = GALHABIT; fnWrite[OUT_DINCDTGALHTIDAL] = &WriteDIncDtGalHTidal; - sprintf(output[OUT_DARGPDTGALHTIDAL].cName, "DArgPDtGalHTidal"); - sprintf(output[OUT_DARGPDTGALHTIDAL].cDescr, + fvFormattedString(&output[OUT_DARGPDTGALHTIDAL].cName, "DArgPDtGalHTidal"); + fvFormattedString(&output[OUT_DARGPDTGALHTIDAL].cDescr, "Body's tidal dargp/dt in GalHabit"); - sprintf(output[OUT_DARGPDTGALHTIDAL].cNeg, "1/year"); + fvFormattedString(&output[OUT_DARGPDTGALHTIDAL].cNeg, "1/year"); output[OUT_DARGPDTGALHTIDAL].bNeg = 1; output[OUT_DARGPDTGALHTIDAL].dNeg = YEARSEC / DEGRAD; output[OUT_DARGPDTGALHTIDAL].iModuleBit = GALHABIT; fnWrite[OUT_DARGPDTGALHTIDAL] = &WriteDArgPDtGalHTidal; - sprintf(output[OUT_DLONGADTGALHTIDAL].cName, "DLongADtGalHTidal"); - sprintf(output[OUT_DLONGADTGALHTIDAL].cDescr, + fvFormattedString(&output[OUT_DLONGADTGALHTIDAL].cName, "DLongADtGalHTidal"); + fvFormattedString(&output[OUT_DLONGADTGALHTIDAL].cDescr, "Body's tidal dlonga/dt in GalHabit"); - sprintf(output[OUT_DLONGADTGALHTIDAL].cNeg, "1/year"); + fvFormattedString(&output[OUT_DLONGADTGALHTIDAL].cNeg, "1/year"); output[OUT_DLONGADTGALHTIDAL].bNeg = 1; output[OUT_DLONGADTGALHTIDAL].dNeg = YEARSEC / DEGRAD; output[OUT_DLONGADTGALHTIDAL].iModuleBit = GALHABIT; @@ -1897,7 +1897,7 @@ void ForceBehaviorGalHabit(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, int iModule) { double dp, dkzi, dVMax, dCurrentAge, dMeanATmp, C; double sinw, cosw, cosw_alt, sign; - char cOut[3 * NAMELEN]; + char *cOut; int idr; FILE *fOut; @@ -2015,7 +2015,7 @@ void ForceBehaviorGalHabit(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, /* write out encounter info */ if (system->bOutputEnc) { - sprintf(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"); @@ -2809,12 +2809,12 @@ void NextEncounterTime(SYSTEM *system, EVOLVE *evolve, double dTime) { } void testrand(SYSTEM *system) { - char cOut[NAMELEN]; + char *cOut; FILE *fOut; double n = 0, m, y = 100; int i; - sprintf(cOut, "randoms"); + fvFormattedString(&cOut, "randoms"); fOut = fopen(cOut, "w"); for (i = 0; i <= 100000; i++) { diff --git a/src/magmoc.c b/src/magmoc.c index b709939f4..07496da72 100644 --- a/src/magmoc.c +++ b/src/magmoc.c @@ -493,171 +493,171 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { /* FeO */ - sprintf(options[OPT_FEO].cName, "dMassFracFeOIni"); // name of the variable - sprintf(options[OPT_FEO].cDescr, + 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 - sprintf(options[OPT_FEO].cDefault, + fvFormattedString(&options[OPT_FEO].cDefault, "BSE Earth: 0.0788"); // comment what the default value will be - sprintf(options[OPT_FEO].cDimension, "nd"); + 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 - sprintf(options[OPT_FEO].cNeg, "no unit"); // specify unit (for help) + 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 - sprintf(options[OPT_WATERMASSATM].cName, "dWaterMassAtm"); - sprintf(options[OPT_WATERMASSATM].cDescr, + fvFormattedString(&options[OPT_WATERMASSATM].cName, "dWaterMassAtm"); + fvFormattedString(&options[OPT_WATERMASSATM].cDescr, "Initial Water Mass in the atmosphere"); - sprintf(options[OPT_WATERMASSATM].cDefault, "1 Terrestrial Ocean"); - sprintf(options[OPT_WATERMASSATM].cDimension, "mass"); + fvFormattedString(&options[OPT_WATERMASSATM].cDefault, "1 Terrestrial Ocean"); + fvFormattedString(&options[OPT_WATERMASSATM].cDimension, "mass"); options[OPT_WATERMASSATM].iType = 2; options[OPT_WATERMASSATM].bMultiFile = 1; options[OPT_WATERMASSATM].dNeg = TOMASS; // for input: factor to mulitply for SI - for output: divide // (e.g. 1/TOMASS) options[OPT_WATERMASSATM].dDefault = TOMASS; - sprintf(options[OPT_WATERMASSATM].cNeg, "TO"); + fvFormattedString(&options[OPT_WATERMASSATM].cNeg, "TO"); fnRead[OPT_WATERMASSATM] = &ReadWaterMassAtm; /* CO2 */ - sprintf(options[OPT_CO2MASSMOATM].cName, "dCO2MassMOAtm"); - sprintf(options[OPT_CO2MASSMOATM].cDescr, "Initial CO2 mass in the system"); - sprintf(options[OPT_CO2MASSMOATM].cDefault, "0 TO"); - sprintf(options[OPT_CO2MASSMOATM].cDimension, "mass"); + fvFormattedString(&options[OPT_CO2MASSMOATM].cName, "dCO2MassMOAtm"); + 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; options[OPT_CO2MASSMOATM].bMultiFile = 1; options[OPT_CO2MASSMOATM].dNeg = TOMASS; // for input: factor to mulitply for SI - for output: divide // (e.g. 1/TOMASS) options[OPT_CO2MASSMOATM].dDefault = 0; - sprintf(options[OPT_CO2MASSMOATM].cNeg, "TO"); + fvFormattedString(&options[OPT_CO2MASSMOATM].cNeg, "TO"); fnRead[OPT_CO2MASSMOATM] = &ReadCO2MassMOAtm; /* Temperature */ - sprintf(options[OPT_SURFTEMP].cName, "dSurfTemp"); - sprintf(options[OPT_SURFTEMP].cDescr, "Initial surface temp"); - sprintf(options[OPT_SURFTEMP].cDefault, "4000 K"); - sprintf(options[OPT_SURFTEMP].cDimension, "temperature"); + fvFormattedString(&options[OPT_SURFTEMP].cName, "dSurfTemp"); + fvFormattedString(&options[OPT_SURFTEMP].cDescr, "Initial surface temp"); + fvFormattedString(&options[OPT_SURFTEMP].cDefault, "4000 K"); + fvFormattedString(&options[OPT_SURFTEMP].cDimension, "temperature"); options[OPT_SURFTEMP].iType = 2; options[OPT_SURFTEMP].bMultiFile = 1; options[OPT_SURFTEMP].dNeg = 1; options[OPT_SURFTEMP].dDefault = 4000; - sprintf(options[OPT_SURFTEMP].cNeg, "Kelvin"); + fvFormattedString(&options[OPT_SURFTEMP].cNeg, "Kelvin"); fnRead[OPT_SURFTEMP] = &ReadSurfTemp; /* Density */ - sprintf(options[OPT_MANMELTDENSITY].cName, "dManMeltDensity"); - sprintf(options[OPT_MANMELTDENSITY].cDescr, "Density of the molten mantle"); - sprintf(options[OPT_MANMELTDENSITY].cDefault, "4000 kg/m^3"); - sprintf(options[OPT_MANMELTDENSITY].cDimension, "mass/length^3"); + fvFormattedString(&options[OPT_MANMELTDENSITY].cName, "dManMeltDensity"); + 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; options[OPT_MANMELTDENSITY].bMultiFile = 1; options[OPT_MANMELTDENSITY].dNeg = 1; options[OPT_MANMELTDENSITY].dDefault = 4000; - sprintf(options[OPT_MANMELTDENSITY].cNeg, "kg/m^3"); + fvFormattedString(&options[OPT_MANMELTDENSITY].cNeg, "kg/m^3"); fnRead[OPT_MANMELTDENSITY] = &ReadManMeltDensity; /* Water partition coefficient */ - sprintf(options[OPT_WATERPARTCOEFF].cName, "dWaterPartCoeff"); - sprintf(options[OPT_WATERPARTCOEFF].cDescr, + fvFormattedString(&options[OPT_WATERPARTCOEFF].cName, "dWaterPartCoeff"); + fvFormattedString(&options[OPT_WATERPARTCOEFF].cDescr, "Water partition coefficient between melt and solid"); - sprintf(options[OPT_WATERPARTCOEFF].cDefault, "0.01"); - sprintf(options[OPT_WATERPARTCOEFF].cDimension, "nd"); + fvFormattedString(&options[OPT_WATERPARTCOEFF].cDefault, "0.01"); + fvFormattedString(&options[OPT_WATERPARTCOEFF].cDimension, "nd"); options[OPT_WATERPARTCOEFF].iType = 2; options[OPT_WATERPARTCOEFF].bMultiFile = 1; options[OPT_WATERPARTCOEFF].dNeg = 1; options[OPT_WATERPARTCOEFF].dDefault = 0.01; - sprintf(options[OPT_WATERPARTCOEFF].cNeg, "no unit"); + fvFormattedString(&options[OPT_WATERPARTCOEFF].cNeg, "no unit"); fnRead[OPT_WATERPARTCOEFF] = &ReadWaterPartCoeff; /* Magma Ocean Depth */ - sprintf(options[OPT_DEPTHMO].cName, "dDepthMO"); - sprintf(options[OPT_DEPTHMO].cDescr, "Initial depth of the magma ocean"); - sprintf(options[OPT_DEPTHMO].cDefault, "core radius"); - sprintf(options[OPT_DEPTHMO].cDimension, "length"); + fvFormattedString(&options[OPT_DEPTHMO].cName, "dDepthMO"); + 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; options[OPT_DEPTHMO].bMultiFile = 1; options[OPT_DEPTHMO].dNeg = 1e3; options[OPT_DEPTHMO].dDefault = 1e6; - sprintf(options[OPT_DEPTHMO].cNeg, "km"); + fvFormattedString(&options[OPT_DEPTHMO].cNeg, "km"); fnRead[OPT_DEPTHMO] = &ReadDepthMO; /* Halts */ - sprintf(options[OPT_HALTMANTLESOLIDIFIED].cName, "bHaltMantleSolidified"); - sprintf(options[OPT_HALTMANTLESOLIDIFIED].cDescr, + fvFormattedString(&options[OPT_HALTMANTLESOLIDIFIED].cName, "bHaltMantleSolidified"); + fvFormattedString(&options[OPT_HALTMANTLESOLIDIFIED].cDescr, "Halt when mantle solidified?"); - sprintf(options[OPT_HALTMANTLESOLIDIFIED].cDefault, "0"); + fvFormattedString(&options[OPT_HALTMANTLESOLIDIFIED].cDefault, "0"); options[OPT_HALTMANTLESOLIDIFIED].iType = 0; fnRead[OPT_HALTMANTLESOLIDIFIED] = &ReadHaltMantleSolidified; - sprintf(options[OPT_HALTMANTLEMELTFRACLOW].cName, "bHaltMantleMeltFracLow"); - sprintf(options[OPT_HALTMANTLEMELTFRACLOW].cDescr, + fvFormattedString(&options[OPT_HALTMANTLEMELTFRACLOW].cName, "bHaltMantleMeltFracLow"); + fvFormattedString(&options[OPT_HALTMANTLEMELTFRACLOW].cDescr, "Halt when mantle mostly solidified?"); - sprintf(options[OPT_HALTMANTLEMELTFRACLOW].cDefault, "0"); + fvFormattedString(&options[OPT_HALTMANTLEMELTFRACLOW].cDefault, "0"); options[OPT_HALTMANTLEMELTFRACLOW].iType = 0; fnRead[OPT_HALTMANTLEMELTFRACLOW] = &ReadHaltMantleMeltFracLow; - sprintf(options[OPT_HALTATMDESISRUFCOOL].cName, "bHaltAtmDesiSurfCool"); - sprintf(options[OPT_HALTATMDESISRUFCOOL].cDescr, + fvFormattedString(&options[OPT_HALTATMDESISRUFCOOL].cName, "bHaltAtmDesiSurfCool"); + fvFormattedString(&options[OPT_HALTATMDESISRUFCOOL].cDescr, "Halt when atmosphere desiccated and surface below 1000K?"); - sprintf(options[OPT_HALTATMDESISRUFCOOL].cDefault, "0"); + fvFormattedString(&options[OPT_HALTATMDESISRUFCOOL].cDefault, "0"); options[OPT_HALTATMDESISRUFCOOL].iType = 0; fnRead[OPT_HALTATMDESISRUFCOOL] = &ReadHaltAtmDesiSurfCool; - sprintf(options[OPT_HALTENTERHABZONE].cName, "bHaltEnterHabZone"); - sprintf(options[OPT_HALTENTERHABZONE].cDescr, + fvFormattedString(&options[OPT_HALTENTERHABZONE].cName, "bHaltEnterHabZone"); + fvFormattedString(&options[OPT_HALTENTERHABZONE].cDescr, "Halt when planet enters habitable zone?"); - sprintf(options[OPT_HALTENTERHABZONE].cDefault, "0"); + fvFormattedString(&options[OPT_HALTENTERHABZONE].cDefault, "0"); options[OPT_HALTENTERHABZONE].iType = 0; fnRead[OPT_HALTENTERHABZONE] = &ReadHaltEnterHabZone; - sprintf(options[OPT_HALTALLPLANETSSOLID].cName, "bHaltAllPlanetsSolid"); - sprintf(options[OPT_HALTALLPLANETSSOLID].cDescr, + fvFormattedString(&options[OPT_HALTALLPLANETSSOLID].cName, "bHaltAllPlanetsSolid"); + fvFormattedString(&options[OPT_HALTALLPLANETSSOLID].cDescr, "Halt when all planets solidified?"); - sprintf(options[OPT_HALTALLPLANETSSOLID].cDefault, "0"); + fvFormattedString(&options[OPT_HALTALLPLANETSSOLID].cDefault, "0"); options[OPT_HALTALLPLANETSSOLID].iType = 0; fnRead[OPT_HALTALLPLANETSSOLID] = &ReadHaltAllPlanetsSolid; // XXX Overlap with bHaltSurfaceDesiccated in AtmEsc - sprintf(options[OPT_HALTALLPLANETSDESICC].cName, "bHaltAllPlanetsDesicc"); - sprintf(options[OPT_HALTALLPLANETSDESICC].cDescr, + fvFormattedString(&options[OPT_HALTALLPLANETSDESICC].cName, "bHaltAllPlanetsDesicc"); + fvFormattedString(&options[OPT_HALTALLPLANETSDESICC].cDescr, "Halt when all planets desiccated?"); - sprintf(options[OPT_HALTALLPLANETSDESICC].cDefault, "0"); + fvFormattedString(&options[OPT_HALTALLPLANETSDESICC].cDefault, "0"); options[OPT_HALTALLPLANETSDESICC].iType = 0; fnRead[OPT_HALTALLPLANETSDESICC] = &ReadHaltAllPlanetsDesicc; /* Model options */ - sprintf(options[OPT_RADIOHEATMODEL].cName, "sRadioHeatModel"); - sprintf(options[OPT_RADIOHEATMODEL].cDescr, "Radiogenic heating model"); - sprintf(options[OPT_RADIOHEATMODEL].cDefault, "NONE"); + fvFormattedString(&options[OPT_RADIOHEATMODEL].cName, "sRadioHeatModel"); + fvFormattedString(&options[OPT_RADIOHEATMODEL].cDescr, "Radiogenic heating model"); + fvFormattedString(&options[OPT_RADIOHEATMODEL].cDefault, "NONE"); options[OPT_RADIOHEATMODEL].iType = 3; options[OPT_RADIOHEATMODEL].bMultiFile = 1; fnRead[OPT_RADIOHEATMODEL] = &ReadRadioHeatModel; - sprintf(options[OPT_MAGMOCATMMODEL].cName, "sMagmOcAtmModel"); - sprintf(options[OPT_MAGMOCATMMODEL].cDescr, + fvFormattedString(&options[OPT_MAGMOCATMMODEL].cName, "sMagmOcAtmModel"); + fvFormattedString(&options[OPT_MAGMOCATMMODEL].cDescr, "Atmospheric flux model: Grey or Petit"); - sprintf(options[OPT_MAGMOCATMMODEL].cDefault, "GREY"); + fvFormattedString(&options[OPT_MAGMOCATMMODEL].cDefault, "GREY"); options[OPT_MAGMOCATMMODEL].iType = 3; options[OPT_MAGMOCATMMODEL].bMultiFile = 1; fnRead[OPT_MAGMOCATMMODEL] = &ReadMagmOcAtmModel; - sprintf(options[OPT_MANQUASISOL].cName, "bOptManQuasiSol"); - sprintf(options[OPT_MANQUASISOL].cDescr, "Solidify when melt frac = 0.4?"); - sprintf(options[OPT_MANQUASISOL].cDefault, "0"); + fvFormattedString(&options[OPT_MANQUASISOL].cName, "bOptManQuasiSol"); + 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; fnRead[OPT_MANQUASISOL] = &ReadMantleQuasiSolid; @@ -2487,9 +2487,9 @@ void WriteMeltFraction(BODY *body, CONTROL *control, OUTPUT *output, // similar to initialize options void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_POTTEMP].cName, "PotTemp"); - sprintf(output[OUT_POTTEMP].cDescr, "Potential temperature magma ocean"); - sprintf(output[OUT_POTTEMP].cNeg, "K"); + fvFormattedString(&output[OUT_POTTEMP].cName, "PotTemp"); + fvFormattedString(&output[OUT_POTTEMP].cDescr, "Potential temperature magma ocean"); + fvFormattedString(&output[OUT_POTTEMP].cNeg, "K"); output[OUT_POTTEMP].bNeg = 1; output[OUT_POTTEMP].dNeg = 1; // division factor to get from SI to desired unit @@ -2497,9 +2497,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_POTTEMP].iModuleBit = MAGMOC; // name of module fnWrite[OUT_POTTEMP] = &WritePotTemp; - sprintf(output[OUT_SURFTEMP].cName, "SurfTemp"); - sprintf(output[OUT_SURFTEMP].cDescr, "Surface temperature magma ocean"); - sprintf(output[OUT_SURFTEMP].cNeg, "K"); + fvFormattedString(&output[OUT_SURFTEMP].cName, "SurfTemp"); + fvFormattedString(&output[OUT_SURFTEMP].cDescr, "Surface temperature magma ocean"); + fvFormattedString(&output[OUT_SURFTEMP].cNeg, "K"); output[OUT_SURFTEMP].bNeg = 1; output[OUT_SURFTEMP].dNeg = 1; // division factor to get from SI to desired unit @@ -2507,10 +2507,10 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_SURFTEMP].iModuleBit = MAGMOC; // name of module fnWrite[OUT_SURFTEMP] = &WriteSurfTemp; - sprintf(output[OUT_SOLIDRADIUS].cName, "SolidRadius"); - sprintf(output[OUT_SOLIDRADIUS].cDescr, + fvFormattedString(&output[OUT_SOLIDRADIUS].cName, "SolidRadius"); + fvFormattedString(&output[OUT_SOLIDRADIUS].cDescr, "Solidification radius of the mantle"); - sprintf(output[OUT_SOLIDRADIUS].cNeg, "Rearth"); + fvFormattedString(&output[OUT_SOLIDRADIUS].cNeg, "Rearth"); output[OUT_SOLIDRADIUS].bNeg = 1; output[OUT_SOLIDRADIUS].dNeg = 1 / REARTH; // division factor to get from SI to desired unit @@ -2518,10 +2518,10 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_SOLIDRADIUS].iModuleBit = MAGMOC; // name of module fnWrite[OUT_SOLIDRADIUS] = &WriteSolidRadius; - sprintf(output[OUT_WATERMASSMOATM].cName, "WaterMassMOAtm"); - sprintf(output[OUT_WATERMASSMOATM].cDescr, + fvFormattedString(&output[OUT_WATERMASSMOATM].cName, "WaterMassMOAtm"); + fvFormattedString(&output[OUT_WATERMASSMOATM].cDescr, "Water mass in magma ocean and atmosphere"); - sprintf(output[OUT_WATERMASSMOATM].cNeg, "TO"); + fvFormattedString(&output[OUT_WATERMASSMOATM].cNeg, "TO"); output[OUT_WATERMASSMOATM].bNeg = 1; output[OUT_WATERMASSMOATM].dNeg = 1 / TOMASS; // division factor to get from SI to desired unit @@ -2529,9 +2529,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_WATERMASSMOATM].iModuleBit = MAGMOC; // name of module fnWrite[OUT_WATERMASSMOATM] = &WriteWaterMassMOAtm; - sprintf(output[OUT_WATERMASSSOL].cName, "WaterMassSol"); - sprintf(output[OUT_WATERMASSSOL].cDescr, "Water mass in solidified mantle"); - sprintf(output[OUT_WATERMASSSOL].cNeg, "TO"); + fvFormattedString(&output[OUT_WATERMASSSOL].cName, "WaterMassSol"); + 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 = 1 / TOMASS; // division factor to get from SI to desired unit @@ -2539,10 +2539,10 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_WATERMASSSOL].iModuleBit = MAGMOC; // name of module fnWrite[OUT_WATERMASSSOL] = &WriteWaterMassSol; - sprintf(output[OUT_CO2MASSMOATM].cName, "CO2MassMOAtm"); - sprintf(output[OUT_CO2MASSMOATM].cDescr, + fvFormattedString(&output[OUT_CO2MASSMOATM].cName, "CO2MassMOAtm"); + fvFormattedString(&output[OUT_CO2MASSMOATM].cDescr, "CO2 mass in magma ocean and atmosphere"); - sprintf(output[OUT_CO2MASSMOATM].cNeg, "kg"); + fvFormattedString(&output[OUT_CO2MASSMOATM].cNeg, "kg"); output[OUT_CO2MASSMOATM].bNeg = 1; output[OUT_CO2MASSMOATM].dNeg = 1; // division factor to get from SI to desired unit @@ -2550,9 +2550,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_CO2MASSMOATM].iModuleBit = MAGMOC; // name of module fnWrite[OUT_CO2MASSMOATM] = &WriteCO2MassMOAtm; - sprintf(output[OUT_CO2MASSSOL].cName, "CO2MassSol"); - sprintf(output[OUT_CO2MASSSOL].cDescr, "CO2 mass in solidified mantle"); - sprintf(output[OUT_CO2MASSSOL].cNeg, "kg"); + fvFormattedString(&output[OUT_CO2MASSSOL].cName, "CO2MassSol"); + 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 = 1; // division factor to get from SI to desired unit @@ -2560,10 +2560,10 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_CO2MASSSOL].iModuleBit = MAGMOC; // name of module fnWrite[OUT_CO2MASSSOL] = &WriteCO2MassSol; - sprintf(output[OUT_OXYGENMASSMOATM].cName, "OxygenMassMOAtm"); - sprintf(output[OUT_OXYGENMASSMOATM].cDescr, + fvFormattedString(&output[OUT_OXYGENMASSMOATM].cName, "OxygenMassMOAtm"); + fvFormattedString(&output[OUT_OXYGENMASSMOATM].cDescr, "Oxygen mass in magma ocean and atmosphere"); - sprintf(output[OUT_OXYGENMASSMOATM].cNeg, "kg"); + fvFormattedString(&output[OUT_OXYGENMASSMOATM].cNeg, "kg"); output[OUT_OXYGENMASSMOATM].bNeg = 1; output[OUT_OXYGENMASSMOATM].dNeg = 1; // division factor to get from SI to desired unit @@ -2571,9 +2571,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_OXYGENMASSMOATM].iModuleBit = MAGMOC; // name of module fnWrite[OUT_OXYGENMASSMOATM] = &WriteOxygenMassMOAtm; - sprintf(output[OUT_OXYGENMASSSOL].cName, "OxygenMassSol"); - sprintf(output[OUT_OXYGENMASSSOL].cDescr, "Oxygen Mass in solidified mantle"); - sprintf(output[OUT_OXYGENMASSSOL].cNeg, "kg"); + fvFormattedString(&output[OUT_OXYGENMASSSOL].cName, "OxygenMassSol"); + 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 = 1; // division factor to get from SI to desired unit @@ -2581,9 +2581,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_OXYGENMASSSOL].iModuleBit = MAGMOC; // name of module fnWrite[OUT_OXYGENMASSSOL] = &WriteOxygenMassSol; - sprintf(output[OUT_PRESSWATERATM].cName, "PressWaterAtm"); - sprintf(output[OUT_PRESSWATERATM].cDescr, "Water pressure in atmosphere"); - sprintf(output[OUT_PRESSWATERATM].cNeg, "bar"); + fvFormattedString(&output[OUT_PRESSWATERATM].cName, "PressWaterAtm"); + fvFormattedString(&output[OUT_PRESSWATERATM].cDescr, "Water pressure in atmosphere"); + fvFormattedString(&output[OUT_PRESSWATERATM].cNeg, "bar"); output[OUT_PRESSWATERATM].bNeg = 1; output[OUT_PRESSWATERATM].dNeg = 1 / 1e5; // division factor to get from SI to desired unit @@ -2591,9 +2591,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_PRESSWATERATM].iModuleBit = MAGMOC; // name of module fnWrite[OUT_PRESSWATERATM] = &WritePressWaterAtm; - sprintf(output[OUT_PRESSCO2ATM].cName, "PressCO2Atm"); - sprintf(output[OUT_PRESSCO2ATM].cDescr, "CO2 pressure in atmosphere"); - sprintf(output[OUT_PRESSCO2ATM].cNeg, "bar"); + fvFormattedString(&output[OUT_PRESSCO2ATM].cName, "PressCO2Atm"); + fvFormattedString(&output[OUT_PRESSCO2ATM].cDescr, "CO2 pressure in atmosphere"); + fvFormattedString(&output[OUT_PRESSCO2ATM].cNeg, "bar"); output[OUT_PRESSCO2ATM].bNeg = 1; output[OUT_PRESSCO2ATM].dNeg = 1 / 1e5; // division factor to get from SI to desired unit @@ -2601,9 +2601,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_PRESSCO2ATM].iModuleBit = MAGMOC; // name of module fnWrite[OUT_PRESSCO2ATM] = &WritePressCO2Atm; - sprintf(output[OUT_PRESSOXYGENATM].cName, "PressOxygenAtm"); - sprintf(output[OUT_PRESSOXYGENATM].cDescr, "Oxygen pressure in atmosphere"); - sprintf(output[OUT_PRESSOXYGENATM].cNeg, "bar"); + fvFormattedString(&output[OUT_PRESSOXYGENATM].cName, "PressOxygenAtm"); + fvFormattedString(&output[OUT_PRESSOXYGENATM].cDescr, "Oxygen pressure in atmosphere"); + fvFormattedString(&output[OUT_PRESSOXYGENATM].cNeg, "bar"); output[OUT_PRESSOXYGENATM].bNeg = 1; output[OUT_PRESSOXYGENATM].dNeg = 1 / 1e5; // division factor to get from SI to desired unit @@ -2611,9 +2611,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_PRESSOXYGENATM].iModuleBit = MAGMOC; // name of module fnWrite[OUT_PRESSOXYGENATM] = &WritePressOxygenAtm; - sprintf(output[OUT_HYDROGENMASSSPACE].cName, "HydrogenMassSpace"); - sprintf(output[OUT_HYDROGENMASSSPACE].cDescr, "H mass lost to space"); - sprintf(output[OUT_HYDROGENMASSSPACE].cNeg, "kg"); + fvFormattedString(&output[OUT_HYDROGENMASSSPACE].cName, "HydrogenMassSpace"); + 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 = 1; // division factor to get from SI to desired unit @@ -2621,9 +2621,9 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_HYDROGENMASSSPACE].iModuleBit = MAGMOC; // name of module fnWrite[OUT_HYDROGENMASSSPACE] = &WriteHydrogenMassSpace; - sprintf(output[OUT_OXYGENMASSSPACE].cName, "OxygenMassSpace"); - sprintf(output[OUT_OXYGENMASSSPACE].cDescr, "O atoms lost to space"); - sprintf(output[OUT_OXYGENMASSSPACE].cNeg, "kg"); + fvFormattedString(&output[OUT_OXYGENMASSSPACE].cName, "OxygenMassSpace"); + 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 = 1; // division factor to get from SI to desired unit @@ -2631,42 +2631,42 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_OXYGENMASSSPACE].iModuleBit = MAGMOC; // name of module fnWrite[OUT_OXYGENMASSSPACE] = &WriteOxygenMassSpace; - sprintf(output[OUT_FRACFE2O3MAN].cName, "FracFe2O3Man"); - sprintf(output[OUT_FRACFE2O3MAN].cDescr, + fvFormattedString(&output[OUT_FRACFE2O3MAN].cName, "FracFe2O3Man"); + fvFormattedString(&output[OUT_FRACFE2O3MAN].cDescr, "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; - sprintf(output[OUT_NETFLUXATMO].cName, "NetFluxAtmo"); - sprintf(output[OUT_NETFLUXATMO].cDescr, "Atmospheric Net Flux (OLR-ASR)"); - sprintf(output[OUT_NETFLUXATMO].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_NETFLUXATMO].cName, "NetFluxAtmo"); + 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; output[OUT_NETFLUXATMO].iModuleBit = MAGMOC; // name of module fnWrite[OUT_NETFLUXATMO] = &WriteNetFluxAtmo; - sprintf(output[OUT_WATERFRACMELT].cName, "WaterFracMelt"); - sprintf(output[OUT_WATERFRACMELT].cDescr, + fvFormattedString(&output[OUT_WATERFRACMELT].cName, "WaterFracMelt"); + fvFormattedString(&output[OUT_WATERFRACMELT].cDescr, "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; - sprintf(output[OUT_CO2FRACMELT].cName, "CO2FracMelt"); - sprintf(output[OUT_CO2FRACMELT].cDescr, "CO2 mass fraction in magma ocean"); + fvFormattedString(&output[OUT_CO2FRACMELT].cName, "CO2FracMelt"); + 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 fnWrite[OUT_CO2FRACMELT] = &WriteCO2FracMelt; // XXX Overlap with RadPowerMan from thermint - sprintf(output[OUT_RADIOPOWER].cName, "RadioPower"); - sprintf(output[OUT_RADIOPOWER].cDescr, + fvFormattedString(&output[OUT_RADIOPOWER].cName, "RadioPower"); + fvFormattedString(&output[OUT_RADIOPOWER].cDescr, "Power from radiogenic heating in the mantle"); - sprintf(output[OUT_RADIOPOWER].cNeg, "TW"); + fvFormattedString(&output[OUT_RADIOPOWER].cNeg, "TW"); output[OUT_RADIOPOWER].bNeg = 1; output[OUT_RADIOPOWER].dNeg = 1e-12; output[OUT_RADIOPOWER].iNum = 1; @@ -2674,10 +2674,10 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_RADIOPOWER] = &WriteRadioPower; // XXX Overlap with PowerTidal from Eqtide - sprintf(output[OUT_TIDALPOWER].cName, "TidalPower"); - sprintf(output[OUT_TIDALPOWER].cDescr, + fvFormattedString(&output[OUT_TIDALPOWER].cName, "TidalPower"); + fvFormattedString(&output[OUT_TIDALPOWER].cDescr, "Power from tidal heating in the mantle"); - sprintf(output[OUT_TIDALPOWER].cNeg, "TW"); + fvFormattedString(&output[OUT_TIDALPOWER].cNeg, "TW"); output[OUT_TIDALPOWER].bNeg = 1; output[OUT_TIDALPOWER].dNeg = 1e-12; output[OUT_TIDALPOWER].iNum = 1; @@ -2685,10 +2685,10 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TIDALPOWER] = &WriteTidalPower; // XXX Overlap with HZ outputs in output.c - sprintf(output[OUT_HZINNEREDGE].cName, "HZInnerEdge"); - sprintf(output[OUT_HZINNEREDGE].cDescr, + fvFormattedString(&output[OUT_HZINNEREDGE].cName, "HZInnerEdge"); + fvFormattedString(&output[OUT_HZINNEREDGE].cDescr, "Inner Edge of the Habitable Zone (Runaway Greenhouse)"); - sprintf(output[OUT_HZINNEREDGE].cNeg, "AU"); + fvFormattedString(&output[OUT_HZINNEREDGE].cNeg, "AU"); output[OUT_HZINNEREDGE].bNeg = 1; output[OUT_HZINNEREDGE].dNeg = 1 / AUM; // division factor to get from SI to desired unit @@ -2696,8 +2696,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_HZINNEREDGE].iModuleBit = MAGMOC; // name of module fnWrite[OUT_HZINNEREDGE] = &WriteHZInnerEdge; - sprintf(output[OUT_MELTFRACTION].cName, "MeltFraction"); - sprintf(output[OUT_MELTFRACTION].cDescr, "Melt fraction of the magma ocean"); + fvFormattedString(&output[OUT_MELTFRACTION].cName, "MeltFraction"); + 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 eaefcc9a2..c5aaa9861 100644 --- a/src/options.c +++ b/src/options.c @@ -109,7 +109,7 @@ void GetNextValidLine(char cFile[], int iStart, char cLine[], int *iLine) { /* If EOF, return */ if (fgets(cLine, LINE, fp) == NULL) { - sprintf(cLine, "null"); + fvFormattedString(&cLine, "null"); fclose(fp); return; } @@ -1585,11 +1585,11 @@ void ReadBodyName(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, if (strlen(cTmp) > 0) { strcpy(body[iFile - 1].cName, cTmp); } else { - sprintf(body[iFile - 1].cName, "%d", iFile); + fvFormattedString(&body[iFile - 1].cName, "%d", iFile); } UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else if (iFile > 0) { - sprintf(body[iFile - 1].cName, "%d", iFile); + fvFormattedString(&body[iFile - 1].cName, "%d", iFile); } } @@ -2155,7 +2155,7 @@ void ReadLogFile(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, } } /* Wasn't entered, assign default */ - sprintf(files->cLog, "%s.log", system->cName); + fvFormattedString(&files->cLog, "%s.log", system->cName); } } @@ -3658,9 +3658,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { /* Do System Name first as it is used by other options. */ - sprintf(options[OPT_SYSTEMNAME].cName, "sSystemName"); - sprintf(options[OPT_SYSTEMNAME].cDescr, "System Name"); - sprintf(options[OPT_SYSTEMNAME].cDefault, "None - must be supplied"); + fvFormattedString(&options[OPT_SYSTEMNAME].cName, "sSystemName"); + fvFormattedString(&options[OPT_SYSTEMNAME].cDescr, "System Name"); + fvFormattedString(&options[OPT_SYSTEMNAME].cDefault, "None - must be supplied"); options[OPT_SYSTEMNAME].iModuleBit = 0; options[OPT_SYSTEMNAME].iType = 3; options[OPT_SYSTEMNAME].iFileType = 0; @@ -3672,11 +3672,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_AGE].cName, "dAge"); - sprintf(options[OPT_AGE].cDescr, "System Age"); - sprintf(options[OPT_AGE].cDefault, "0"); - sprintf(options[OPT_AGE].cNeg, "Gyr"); - sprintf(options[OPT_AGE].cDimension, "time"); + fvFormattedString(&options[OPT_AGE].cName, "dAge"); + fvFormattedString(&options[OPT_AGE].cDescr, "System Age"); + fvFormattedString(&options[OPT_AGE].cDefault, "0"); + fvFormattedString(&options[OPT_AGE].cNeg, "Gyr"); + fvFormattedString(&options[OPT_AGE].cDimension, "time"); options[OPT_AGE].dDefault = 0; options[OPT_AGE].iType = 2; options[OPT_AGE].iModuleBit = 0; @@ -3685,10 +3685,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_AGE].iFileType = 2; fnRead[OPT_AGE] = &ReadAge; - sprintf(options[OPT_ALBEDOGLOBAL].cName, "dAlbedoGlobal"); - sprintf(options[OPT_ALBEDOGLOBAL].cDescr, "Globally averaged albedo"); - sprintf(options[OPT_ALBEDOGLOBAL].cDefault, "0.3"); - sprintf(options[OPT_ALBEDOGLOBAL].cDimension, "nd"); + fvFormattedString(&options[OPT_ALBEDOGLOBAL].cName, "dAlbedoGlobal"); + fvFormattedString(&options[OPT_ALBEDOGLOBAL].cDescr, "Globally averaged albedo"); + fvFormattedString(&options[OPT_ALBEDOGLOBAL].cDefault, "0.3"); + fvFormattedString(&options[OPT_ALBEDOGLOBAL].cDimension, "nd"); options[OPT_ALBEDOGLOBAL].dDefault = 0; options[OPT_ALBEDOGLOBAL].bMultiFile = 1; options[OPT_ALBEDOGLOBAL].iType = 2; @@ -3703,18 +3703,18 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_BACK].cName, "bDoBackward"); - sprintf(options[OPT_BACK].cDescr, "Do Backward Integration?"); - sprintf(options[OPT_BACK].cDefault, "No"); + fvFormattedString(&options[OPT_BACK].cName, "bDoBackward"); + fvFormattedString(&options[OPT_BACK].cDescr, "Do Backward Integration?"); + fvFormattedString(&options[OPT_BACK].cDefault, "No"); options[OPT_BACK].iType = 0; options[OPT_BACK].iModuleBit = 0; options[OPT_BACK].bNeg = 0; options[OPT_BACK].iFileType = 2; fnRead[OPT_BACK] = &ReadDoBackward; - sprintf(options[OPT_OUTFILE].cName, "sOutFile"); - sprintf(options[OPT_OUTFILE].cDescr, "Name of Output File"); - sprintf(options[OPT_OUTFILE].cDefault, "cSystemName.backward"); + fvFormattedString(&options[OPT_OUTFILE].cName, "sOutFile"); + fvFormattedString(&options[OPT_OUTFILE].cDescr, "Name of Output File"); + fvFormattedString(&options[OPT_OUTFILE].cDefault, "cSystemName.backward"); options[OPT_OUTFILE].iType = 3; options[OPT_OUTFILE].bMultiFile = 1; options[OPT_OUTFILE].iModuleBit = 0; @@ -3722,27 +3722,27 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_OUTFILE].iFileType = 2; fnRead[OPT_OUTFILE] = &ReadOutFile; - sprintf(options[OPT_ETA].cName, "dEta"); - sprintf(options[OPT_ETA].cDescr, "Variable Time Step Coefficient"); - sprintf(options[OPT_ETA].cDefault, "1"); - sprintf(options[OPT_ETA].cDimension, "nd"); + fvFormattedString(&options[OPT_ETA].cName, "dEta"); + fvFormattedString(&options[OPT_ETA].cDescr, "Variable Time Step Coefficient"); + fvFormattedString(&options[OPT_ETA].cDefault, "1"); + fvFormattedString(&options[OPT_ETA].cDimension, "nd"); options[OPT_ETA].dDefault = 1; options[OPT_ETA].iType = 2; options[OPT_ETA].iModuleBit = 0; options[OPT_ETA].bNeg = 0; options[OPT_ETA].iFileType = 2; fnRead[OPT_ETA] = &ReadEta; - sprintf(options[OPT_ETA].cLongDescr, + fvFormattedString(&options[OPT_ETA].cLongDescr, "The timestep will be set to %s times the smallest instantaneous " "timescale, \n" "i.e. min(x/(dx/dt) where x represents the primary variables.", options[OPT_ETA].cName); - sprintf(options[OPT_OUTPUTTIME].cName, "dOutputTime"); - sprintf(options[OPT_OUTPUTTIME].cDescr, "Output Interval"); - sprintf(options[OPT_OUTPUTTIME].cDefault, "1 year"); - sprintf(options[OPT_OUTPUTTIME].cNeg, "Years"); - sprintf(options[OPT_OUTPUTTIME].cDimension, "time"); + fvFormattedString(&options[OPT_OUTPUTTIME].cName, "dOutputTime"); + fvFormattedString(&options[OPT_OUTPUTTIME].cDescr, "Output Interval"); + fvFormattedString(&options[OPT_OUTPUTTIME].cDefault, "1 year"); + fvFormattedString(&options[OPT_OUTPUTTIME].cNeg, "Years"); + fvFormattedString(&options[OPT_OUTPUTTIME].cDimension, "time"); options[OPT_OUTPUTTIME].dDefault = YEARSEC; options[OPT_OUTPUTTIME].iType = 2; options[OPT_OUTPUTTIME].iModuleBit = 0; @@ -3751,11 +3751,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_OUTPUTTIME].iFileType = 2; fnRead[OPT_OUTPUTTIME] = &ReadOutputTime; - sprintf(options[OPT_STOPTIME].cName, "dStopTime"); - sprintf(options[OPT_STOPTIME].cDescr, "Integration Stop Time"); - sprintf(options[OPT_STOPTIME].cDefault, "10 years"); - sprintf(options[OPT_STOPTIME].cNeg, "Years"); - sprintf(options[OPT_STOPTIME].cDimension, "time"); + fvFormattedString(&options[OPT_STOPTIME].cName, "dStopTime"); + fvFormattedString(&options[OPT_STOPTIME].cDescr, "Integration Stop Time"); + fvFormattedString(&options[OPT_STOPTIME].cDefault, "10 years"); + fvFormattedString(&options[OPT_STOPTIME].cNeg, "Years"); + fvFormattedString(&options[OPT_STOPTIME].cDimension, "time"); options[OPT_STOPTIME].dDefault = 10 * YEARSEC; options[OPT_STOPTIME].iType = 2; options[OPT_STOPTIME].iModuleBit = 0; @@ -3764,11 +3764,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_STOPTIME].iFileType = 2; fnRead[OPT_STOPTIME] = &ReadStopTime; - sprintf(options[OPT_TIMESTEP].cName, "dTimeStep"); - sprintf(options[OPT_TIMESTEP].cDescr, "Integration Timestep"); - sprintf(options[OPT_TIMESTEP].cDefault, "1 year"); - sprintf(options[OPT_TIMESTEP].cNeg, "Years"); - sprintf(options[OPT_TIMESTEP].cDimension, "time"); + fvFormattedString(&options[OPT_TIMESTEP].cName, "dTimeStep"); + fvFormattedString(&options[OPT_TIMESTEP].cDescr, "Integration Timestep"); + fvFormattedString(&options[OPT_TIMESTEP].cDefault, "1 year"); + fvFormattedString(&options[OPT_TIMESTEP].cNeg, "Years"); + fvFormattedString(&options[OPT_TIMESTEP].cDimension, "time"); options[OPT_TIMESTEP].dDefault = YEARSEC; options[OPT_TIMESTEP].iType = 2; options[OPT_TIMESTEP].iModuleBit = 0; @@ -3777,26 +3777,26 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_TIMESTEP].iFileType = 2; fnRead[OPT_TIMESTEP] = &ReadTimeStep; - sprintf(options[OPT_VARDT].cName, "bVarDt"); - sprintf(options[OPT_VARDT].cDescr, "Use variable timestep?"); - sprintf(options[OPT_VARDT].cDefault, "None"); + fvFormattedString(&options[OPT_VARDT].cName, "bVarDt"); + fvFormattedString(&options[OPT_VARDT].cDescr, "Use variable timestep?"); + fvFormattedString(&options[OPT_VARDT].cDefault, "None"); options[OPT_VARDT].iType = 0; options[OPT_VARDT].iModuleBit = 0; options[OPT_VARDT].bNeg = 0; options[OPT_VARDT].iFileType = 2; fnRead[OPT_VARDT] = &ReadVarDt; - sprintf(options[OPT_BODYFILES].cName, "saBodyFiles"); - sprintf(options[OPT_BODYFILES].cDescr, "Input files for each body"); - sprintf(options[OPT_BODYFILES].cDefault, "None"); + fvFormattedString(&options[OPT_BODYFILES].cName, "saBodyFiles"); + fvFormattedString(&options[OPT_BODYFILES].cDescr, "Input files for each body"); + fvFormattedString(&options[OPT_BODYFILES].cDefault, "None"); options[OPT_BODYFILES].iModuleBit = 0; options[OPT_BODYFILES].bNeg = 0; options[OPT_BODYFILES].iFileType = 0; options[OPT_BODYFILES].iType = 13; - sprintf(options[OPT_BODYNAME].cName, "sName"); - sprintf(options[OPT_BODYNAME].cDescr, "Body's Name"); - sprintf(options[OPT_BODYNAME].cDefault, "Integer of Input Order, i.e. 1"); + fvFormattedString(&options[OPT_BODYNAME].cName, "sName"); + fvFormattedString(&options[OPT_BODYNAME].cDescr, "Body's Name"); + fvFormattedString(&options[OPT_BODYNAME].cDefault, "Integer of Input Order, i.e. 1"); options[OPT_BODYNAME].iType = 3; options[OPT_BODYNAME].iModuleBit = 0; options[OPT_BODYNAME].bNeg = 0; @@ -3809,10 +3809,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_COLOR].cName, "sColor"); - sprintf(options[OPT_COLOR].cDescr, + fvFormattedString(&options[OPT_COLOR].cName, "sColor"); + fvFormattedString(&options[OPT_COLOR].cDescr, "Hexadecimal color code for the body to be used in vplot"); - sprintf(options[OPT_COLOR].cDefault, "000000"); + fvFormattedString(&options[OPT_COLOR].cDefault, "000000"); options[OPT_COLOR].iType = 3; options[OPT_COLOR].iModuleBit = 0; options[OPT_COLOR].bNeg = 0; @@ -3830,18 +3830,18 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_FORW].cName, "bDoForward"); - sprintf(options[OPT_FORW].cDescr, "Do Forward Integration?"); - sprintf(options[OPT_FORW].cDefault, "0"); + fvFormattedString(&options[OPT_FORW].cName, "bDoForward"); + fvFormattedString(&options[OPT_FORW].cDescr, "Do Forward Integration?"); + fvFormattedString(&options[OPT_FORW].cDefault, "0"); options[OPT_FORW].iType = 0; options[OPT_FORW].iModuleBit = 0; options[OPT_FORW].bNeg = 0; options[OPT_FORW].iFileType = 2; fnRead[OPT_FORW] = &ReadDoForward; - sprintf(options[OPT_GRCORR].cName, "bGRCorr"); - sprintf(options[OPT_GRCORR].cDescr, "Use general relativity correction"); - sprintf(options[OPT_GRCORR].cDefault, "0"); + fvFormattedString(&options[OPT_GRCORR].cName, "bGRCorr"); + fvFormattedString(&options[OPT_GRCORR].cDescr, "Use general relativity correction"); + fvFormattedString(&options[OPT_GRCORR].cDefault, "0"); options[OPT_GRCORR].dDefault = 0; options[OPT_GRCORR].iType = 0; options[OPT_GRCORR].bMultiFile = 1; @@ -3856,11 +3856,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_HALTMAXECC].cName, "dHaltMaxEcc"); - sprintf(options[OPT_HALTMAXECC].cDescr, + fvFormattedString(&options[OPT_HALTMAXECC].cName, "dHaltMaxEcc"); + fvFormattedString(&options[OPT_HALTMAXECC].cDescr, "Maximum eccentricity value that halts ntegration"); - sprintf(options[OPT_HALTMAXECC].cDefault, "1"); - sprintf(options[OPT_HALTMAXECC].cDimension, "nd"); + fvFormattedString(&options[OPT_HALTMAXECC].cDefault, "1"); + fvFormattedString(&options[OPT_HALTMAXECC].cDimension, "nd"); options[OPT_HALTMAXECC].dDefault = 1; options[OPT_HALTMAXECC].iType = 2; options[OPT_HALTMAXECC].iModuleBit = EQTIDE + DISTORB; @@ -3868,19 +3868,19 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_HALTMAXECC].iFileType = 2; fnRead[OPT_HALTMAXECC] = &ReadHaltMaxEcc; - sprintf(options[OPT_HALTMAXMUTUALINC].cName, "dHaltMaxMutualInc"); - sprintf(options[OPT_HALTMAXMUTUALINC].cDescr, + fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cName, "dHaltMaxMutualInc"); + fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cDescr, "Maximum mutual inclination value that halts integration"); - sprintf(options[OPT_HALTMAXMUTUALINC].cDefault, "0 [not checked]"); - sprintf(options[OPT_HALTMAXMUTUALINC].cDimension, "angle"); + fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cDefault, "0 [not checked]"); + fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cDimension, "angle"); options[OPT_HALTMAXMUTUALINC].dDefault = 0; options[OPT_HALTMAXMUTUALINC].iType = 2; options[OPT_HALTMAXMUTUALINC].iModuleBit = SPINBODY + DISTORB; options[OPT_HALTMAXMUTUALINC].bNeg = 0; options[OPT_HALTMAXMUTUALINC].iFileType = 2; fnRead[OPT_HALTMAXMUTUALINC] = &ReadHaltMaxMutualInc; - sprintf( - options[OPT_HALTMAXMUTUALINC].cLongDescr, + fvFormattedString( + &options[OPT_HALTMAXMUTUALINC].cLongDescr, "The execution halts when dHaltMaxMutualInc is reached. The mutual " "(or\n" "relative) inclination is the value of the angle between the orbital\n" @@ -3898,9 +3898,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ORBITMODEL].cName, ((double)MAXMUTUALINCRD4), options[OPT_ORBITMODEL].cName, ((double)MAXMUTUALINCLL2)); - sprintf(options[OPT_HALTMERGE].cName, "bHaltMerge"); - sprintf(options[OPT_HALTMERGE].cDescr, "Halt at Merge"); - sprintf(options[OPT_HALTMERGE].cDefault, + fvFormattedString(&options[OPT_HALTMERGE].cName, "bHaltMerge"); + fvFormattedString(&options[OPT_HALTMERGE].cDescr, "Halt at Merge"); + fvFormattedString(&options[OPT_HALTMERGE].cDefault, "If eqtide or distorb called 1, else 0"); options[OPT_HALTMERGE].iType = 0; options[OPT_HALTMERGE].iModuleBit = EQTIDE + DISTORB + SPINBODY + STELLAR; @@ -3908,11 +3908,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_HALTMERGE].iFileType = 2; fnRead[OPT_HALTMERGE] = &ReadHaltMerge; - sprintf(options[OPT_HALTMINECC].cName, "dHaltMinEcc"); - sprintf(options[OPT_HALTMINECC].cDescr, + fvFormattedString(&options[OPT_HALTMINECC].cName, "dHaltMinEcc"); + fvFormattedString(&options[OPT_HALTMINECC].cDescr, "Minimum Eccentricity Value that Halts Integration"); - sprintf(options[OPT_HALTMINECC].cDefault, "-1"); - sprintf(options[OPT_HALTMINECC].cDimension, "nd"); + fvFormattedString(&options[OPT_HALTMINECC].cDefault, "-1"); + fvFormattedString(&options[OPT_HALTMINECC].cDimension, "nd"); options[OPT_HALTMINECC].dDefault = -1; options[OPT_HALTMINECC].iType = 2; options[OPT_HALTMINECC].iModuleBit = EQTIDE + SPINBODY + DISTORB; @@ -3920,11 +3920,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_HALTMINECC].iFileType = 2; fnRead[OPT_HALTMINECC] = &ReadHaltMinEcc; - sprintf(options[OPT_HALTMINOBL].cName, "dHaltMinObl"); - sprintf(options[OPT_HALTMINOBL].cDescr, + fvFormattedString(&options[OPT_HALTMINOBL].cName, "dHaltMinObl"); + fvFormattedString(&options[OPT_HALTMINOBL].cDescr, "Minimum Obliquity Value that Halts Integration"); - sprintf(options[OPT_HALTMINOBL].cDefault, "-1 degrees"); - sprintf(options[OPT_HALTMINOBL].cDimension, "angle"); + fvFormattedString(&options[OPT_HALTMINOBL].cDefault, "-1 degrees"); + fvFormattedString(&options[OPT_HALTMINOBL].cDimension, "angle"); options[OPT_HALTMINOBL].dDefault = -DEGRAD; options[OPT_HALTMINOBL].iType = 2; options[OPT_HALTMINOBL].bMultiFile = 1; @@ -3933,12 +3933,12 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_HALTMINOBL].iFileType = 2; fnRead[OPT_HALTMINOBL] = &ReadHaltMinObl; - sprintf(options[OPT_HALTMINSEMI].cName, "dHaltMinSemi"); - sprintf(options[OPT_HALTMINSEMI].cDescr, + fvFormattedString(&options[OPT_HALTMINSEMI].cName, "dHaltMinSemi"); + fvFormattedString(&options[OPT_HALTMINSEMI].cDescr, "Minimum Semi-Major Axis Value that Halts Integration"); - sprintf(options[OPT_HALTMINSEMI].cDefault, "0"); - sprintf(options[OPT_HALTMINSEMI].cNeg, "au"); - sprintf(options[OPT_HALTMINSEMI].cDimension, "length"); + fvFormattedString(&options[OPT_HALTMINSEMI].cDefault, "0"); + fvFormattedString(&options[OPT_HALTMINSEMI].cNeg, "au"); + fvFormattedString(&options[OPT_HALTMINSEMI].cDimension, "length"); options[OPT_HALTMINSEMI].dDefault = 0; options[OPT_HALTMINSEMI].iType = 2; options[OPT_HALTMINSEMI].dNeg = AUM; @@ -3947,10 +3947,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_HALTMINSEMI].iFileType = 2; fnRead[OPT_HALTMINSEMI] = &ReadHaltMinSemi; - sprintf(options[OPT_HALTPOSDEDT].cName, "bHaltPosDeDt"); - sprintf(options[OPT_HALTPOSDEDT].cDescr, "Halt if de/dt > 0?"); - sprintf(options[OPT_HALTPOSDEDT].cDefault, "0"); - sprintf(options[OPT_HALTPOSDEDT].cDimension, "time^-1"); + fvFormattedString(&options[OPT_HALTPOSDEDT].cName, "bHaltPosDeDt"); + fvFormattedString(&options[OPT_HALTPOSDEDT].cDescr, "Halt if de/dt > 0?"); + fvFormattedString(&options[OPT_HALTPOSDEDT].cDefault, "0"); + fvFormattedString(&options[OPT_HALTPOSDEDT].cDimension, "time^-1"); options[OPT_HALTPOSDEDT].iType = 0; options[OPT_HALTPOSDEDT].iModuleBit = EQTIDE + SPINBODY + DISTORB; options[OPT_HALTPOSDEDT].bNeg = 0; @@ -3963,10 +3963,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_HECC].cName, "dHecc"); - sprintf(options[OPT_HECC].cDescr, "Poincare's h -- Unsupported!"); - sprintf(options[OPT_HECC].cDefault, "-1"); - sprintf(options[OPT_HECC].cDimension, "nd"); + fvFormattedString(&options[OPT_HECC].cName, "dHecc"); + fvFormattedString(&options[OPT_HECC].cDescr, "Poincare's h -- Unsupported!"); + fvFormattedString(&options[OPT_HECC].cDefault, "-1"); + fvFormattedString(&options[OPT_HECC].cDimension, "nd"); options[OPT_HECC].dDefault = -1; options[OPT_HECC].iType = 2; options[OPT_HECC].iModuleBit = DISTORB + SPINBODY; @@ -3980,10 +3980,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_INTEGRATIONMETHOD].cName, "sIntegrationMethod"); - sprintf(options[OPT_INTEGRATIONMETHOD].cDescr, + fvFormattedString(&options[OPT_INTEGRATIONMETHOD].cName, "sIntegrationMethod"); + fvFormattedString(&options[OPT_INTEGRATIONMETHOD].cDescr, "Integration Method: Euler, Runge-Kutta4 (Default = Runge-Kutta4)"); - sprintf(options[OPT_INTEGRATIONMETHOD].cDefault, "Runge-Kutta4"); + fvFormattedString(&options[OPT_INTEGRATIONMETHOD].cDefault, "Runge-Kutta4"); options[OPT_INTEGRATIONMETHOD].iType = 3; options[OPT_INTEGRATIONMETHOD].iModuleBit = 0; options[OPT_INTEGRATIONMETHOD].bNeg = 0; @@ -3998,9 +3998,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { /* Someday... - sprintf(options[OPT_KECC].cName,"dKecc"); - sprintf(options[OPT_KECC].cDescr,"Poincare's k -- Unsuppoted!"); - sprintf(options[OPT_KECC].cDefault,"-1"); + fvFormattedString(options[OPT_KECC].cName,"dKecc"); + fvFormattedString(options[OPT_KECC].cDescr,"Poincare's k -- Unsuppoted!"); + fvFormattedString(options[OPT_KECC].cDefault,"-1"); options[OPT_KECC].dDefault = -1; options[OPT_KECC].iType = 2; options[OPT_KECC].iModuleBit = DISTORB + SPINBODY; @@ -4016,29 +4016,28 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_LOG].cName, "bDoLog"); - sprintf(options[OPT_LOG].cDescr, "Write Log File?"); - sprintf(options[OPT_LOG].cDefault, "0"); + fvFormattedString(&options[OPT_LOG].cName, "bDoLog"); + fvFormattedString(&options[OPT_LOG].cDescr, "Write Log File?"); + fvFormattedString(&options[OPT_LOG].cDefault, "0"); options[OPT_LOG].iType = 0; options[OPT_LOG].iModuleBit = 0; options[OPT_LOG].bNeg = 0; options[OPT_LOG].iFileType = 2; fnRead[OPT_LOG] = &ReadDoLog; - sprintf(options[OPT_LOGFILE].cName, "sLogFile"); - sprintf(options[OPT_LOGFILE].cDescr, "Log File Name"); - + fvFormattedString(&options[OPT_LOGFILE].cName, "sLogFile"); + fvFormattedString(&options[OPT_LOGFILE].cDescr, "Log File Name"); options[OPT_LOGFILE].iType = 3; options[OPT_LOGFILE].iModuleBit = 0; options[OPT_LOGFILE].bNeg = 0; options[OPT_LOGFILE].iFileType = 2; fnRead[OPT_LOGFILE] = &ReadLogFile; - sprintf(options[OPT_LONGP].cName, "dLongP"); - sprintf(options[OPT_LONGP].cDescr, + fvFormattedString(&options[OPT_LONGP].cName, "dLongP"); + fvFormattedString(&options[OPT_LONGP].cDescr, "Longitude of pericenter of planet's orbit"); - sprintf(options[OPT_LONGP].cDefault, "0"); - sprintf(options[OPT_LONGP].cDimension, "angle"); + fvFormattedString(&options[OPT_LONGP].cDefault, "0"); + fvFormattedString(&options[OPT_LONGP].cDimension, "angle"); options[OPT_LONGP].dDefault = 0.0; options[OPT_LONGP].iType = 2; options[OPT_LONGP].bMultiFile = 1; @@ -4047,21 +4046,21 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_LONGP].iFileType = 1; fnRead[OPT_LONGP] = &ReadLongP; - sprintf(options[OPT_LUMINOSITY].cName, "dLuminosity"); - sprintf(options[OPT_LUMINOSITY].cDescr, "Initial Luminosity"); - sprintf(options[OPT_LUMINOSITY].cDefault, "0"); - sprintf(options[OPT_LUMINOSITY].cNeg, "LSUN"); - sprintf(options[OPT_LUMINOSITY].cDimension, "energy/time"); + fvFormattedString(&options[OPT_LUMINOSITY].cName, "dLuminosity"); + fvFormattedString(&options[OPT_LUMINOSITY].cDescr, "Initial Luminosity"); + fvFormattedString(&options[OPT_LUMINOSITY].cDefault, "0"); + fvFormattedString(&options[OPT_LUMINOSITY].cNeg, "LSUN"); + fvFormattedString(&options[OPT_LUMINOSITY].cDimension, "energy/time"); options[OPT_LUMINOSITY].dDefault = 0; options[OPT_LUMINOSITY].iType = 2; options[OPT_LUMINOSITY].bMultiFile = 1; options[OPT_LUMINOSITY].dNeg = LSUN; fnRead[OPT_LUMINOSITY] = &ReadLuminosity; - sprintf(options[OPT_LXUV].cName, "dLXUV"); - sprintf(options[OPT_LXUV].cDescr, "Total XUV Luminosity -- Unsupported!"); - sprintf(options[OPT_LXUV].cDefault, "-1"); - sprintf(options[OPT_LXUV].cDimension, "energy/time"); + fvFormattedString(&options[OPT_LXUV].cName, "dLXUV"); + fvFormattedString(&options[OPT_LXUV].cDescr, "Total XUV Luminosity -- Unsupported!"); + fvFormattedString(&options[OPT_LXUV].cDefault, "-1"); + fvFormattedString(&options[OPT_LXUV].cDimension, "energy/time"); options[OPT_LXUV].dDefault = -1; options[OPT_LXUV].iType = 2; options[OPT_LXUV].iModuleBit = STELLAR; @@ -4075,11 +4074,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_MINVALUE].cName, "dMinValue"); - sprintf(options[OPT_MINVALUE].cDescr, + fvFormattedString(&options[OPT_MINVALUE].cName, "dMinValue"); + fvFormattedString(&options[OPT_MINVALUE].cDescr, "Minimum Non-Zero Value of Eccentricity and Obliquities"); - sprintf(options[OPT_MINVALUE].cDefault, "0"); - sprintf(options[OPT_MINVALUE].cDimension, "nd"); + fvFormattedString(&options[OPT_MINVALUE].cDefault, "0"); + fvFormattedString(&options[OPT_MINVALUE].cDimension, "nd"); options[OPT_MINVALUE].dDefault = 0; options[OPT_MINVALUE].iType = 2; options[OPT_MINVALUE].iModuleBit = @@ -4088,16 +4087,16 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_MINVALUE].iFileType = 2; fnRead[OPT_MINVALUE] = &ReadMinValue; - sprintf(options[OPT_MODULES].cName, "saModules"); - sprintf(options[OPT_MODULES].cDescr, "Body's Module List"); - sprintf(options[OPT_MODULES].cDefault, "none"); + fvFormattedString(&options[OPT_MODULES].cName, "saModules"); + fvFormattedString(&options[OPT_MODULES].cDescr, "Body's Module List"); + fvFormattedString(&options[OPT_MODULES].cDefault, "none"); options[OPT_MODULES].dDefault = -1; options[OPT_MODULES].iModuleBit = 0; options[OPT_MODULES].bNeg = 0; options[OPT_MODULES].iFileType = 0; options[OPT_MODULES].iType = 13; - sprintf( - options[OPT_MODULES].cLongDescr, + fvFormattedString( + &options[OPT_MODULES].cLongDescr, "List of names of modules to be applied to the body. Spelling must be " "exact, but any capitalization works"); @@ -4113,51 +4112,51 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_OUTDIGITS].cName, "iDigits"); - sprintf(options[OPT_OUTDIGITS].cDescr, + fvFormattedString(&options[OPT_OUTDIGITS].cName, "iDigits"); + fvFormattedString(&options[OPT_OUTDIGITS].cDescr, "Number of Digits After Decimal Point"); - sprintf(options[OPT_OUTDIGITS].cDefault, "4"); + fvFormattedString(&options[OPT_OUTDIGITS].cDefault, "4"); options[OPT_OUTDIGITS].iType = 1; options[OPT_OUTDIGITS].iModuleBit = 0; options[OPT_OUTDIGITS].bNeg = 0; options[OPT_OUTDIGITS].iFileType = 2; fnRead[OPT_OUTDIGITS] = &ReadDigits; - sprintf( - options[OPT_OUTDIGITS].cLongDescr, + fvFormattedString( + &options[OPT_OUTDIGITS].cLongDescr, "For all floating point output, print this many number of digits after " "the decimal point"); - sprintf(options[OPT_OUTPUTORDER].cName, "saOutputOrder"); - sprintf(options[OPT_OUTPUTORDER].cDescr, "Output Parameter(s)"); - sprintf(options[OPT_OUTPUTORDER].cDefault, "None"); + fvFormattedString(&options[OPT_OUTPUTORDER].cName, "saOutputOrder"); + fvFormattedString(&options[OPT_OUTPUTORDER].cDescr, "Output Parameter(s)"); + fvFormattedString(&options[OPT_OUTPUTORDER].cDefault, "None"); options[OPT_OUTPUTORDER].iType = 13; options[OPT_OUTPUTORDER].iModuleBit = 0; options[OPT_OUTPUTORDER].bNeg = 0; options[OPT_OUTPUTORDER].iFileType = 1; options[OPT_OUTPUTORDER].bMultiFile = 1; - sprintf(options[OPT_GRIDOUTPUT].cName, "saGridOutput"); - sprintf(options[OPT_GRIDOUTPUT].cDescr, "Gridded Output Parameter(s)"); - sprintf(options[OPT_GRIDOUTPUT].cDefault, "None"); + fvFormattedString(&options[OPT_GRIDOUTPUT].cName, "saGridOutput"); + fvFormattedString(&options[OPT_GRIDOUTPUT].cDescr, "Gridded Output Parameter(s)"); + fvFormattedString(&options[OPT_GRIDOUTPUT].cDefault, "None"); options[OPT_GRIDOUTPUT].iType = 13; options[OPT_GRIDOUTPUT].iModuleBit = POISE; options[OPT_GRIDOUTPUT].bNeg = 0; options[OPT_GRIDOUTPUT].bMultiFile = 1; options[OPT_GRIDOUTPUT].iFileType = 1; - sprintf(options[OPT_OUTSCINOT].cName, "iSciNot"); - sprintf(options[OPT_OUTSCINOT].cDescr, + fvFormattedString(&options[OPT_OUTSCINOT].cName, "iSciNot"); + fvFormattedString(&options[OPT_OUTSCINOT].cDescr, "Logarithm to Change from Standard to Scientific Notation"); - sprintf(options[OPT_OUTSCINOT].cDefault, "4"); + fvFormattedString(&options[OPT_OUTSCINOT].cDefault, "4"); options[OPT_OUTSCINOT].iType = 1; options[OPT_OUTSCINOT].iModuleBit = 0; options[OPT_OUTSCINOT].bNeg = 0; options[OPT_OUTSCINOT].iFileType = 2; fnRead[OPT_OUTSCINOT] = &ReadSciNot; - sprintf(options[OPT_OVERWRITE].cName, "bOverwrite"); - sprintf(options[OPT_OVERWRITE].cDescr, "Permit file overwrite?"); - sprintf(options[OPT_OVERWRITE].cDefault, "0"); + fvFormattedString(&options[OPT_OVERWRITE].cName, "bOverwrite"); + fvFormattedString(&options[OPT_OVERWRITE].cDescr, "Permit file overwrite?"); + fvFormattedString(&options[OPT_OVERWRITE].cDefault, "0"); options[OPT_OVERWRITE].iType = 0; options[OPT_OVERWRITE].iModuleBit = 0; options[OPT_OVERWRITE].bNeg = 0; @@ -4170,10 +4169,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_ORBECC].cName, "dEcc"); - sprintf(options[OPT_ORBECC].cDescr, "Orbital Eccentricity"); - sprintf(options[OPT_ORBECC].cDefault, "0"); - sprintf(options[OPT_ORBECC].cDimension, "nd"); + fvFormattedString(&options[OPT_ORBECC].cName, "dEcc"); + fvFormattedString(&options[OPT_ORBECC].cDescr, "Orbital Eccentricity"); + fvFormattedString(&options[OPT_ORBECC].cDefault, "0"); + fvFormattedString(&options[OPT_ORBECC].cDimension, "nd"); options[OPT_ORBECC].dDefault = 0; options[OPT_ORBECC].iType = 2; options[OPT_ORBECC].iModuleBit = 0; @@ -4181,11 +4180,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ORBECC].iFileType = 1; fnRead[OPT_ORBECC] = &ReadEcc; - sprintf(options[OPT_ORBMEANMOTION].cName, "dMeanMotion"); - sprintf(options[OPT_ORBMEANMOTION].cDescr, "Orbital Mean Motion"); - sprintf(options[OPT_ORBMEANMOTION].cDefault, "1 /yr"); - sprintf(options[OPT_ORBMEANMOTION].cNeg, "/Year"); - sprintf(options[OPT_ORBMEANMOTION].cDimension, "time^-1"); + fvFormattedString(&options[OPT_ORBMEANMOTION].cName, "dMeanMotion"); + fvFormattedString(&options[OPT_ORBMEANMOTION].cDescr, "Orbital Mean Motion"); + fvFormattedString(&options[OPT_ORBMEANMOTION].cDefault, "1 /yr"); + fvFormattedString(&options[OPT_ORBMEANMOTION].cNeg, "/Year"); + fvFormattedString(&options[OPT_ORBMEANMOTION].cDimension, "time^-1"); options[OPT_ORBMEANMOTION].dDefault = 1. / YEARSEC; options[OPT_ORBMEANMOTION].iType = 2; options[OPT_ORBMEANMOTION].dNeg = 1. / YEARSEC; @@ -4194,11 +4193,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ORBMEANMOTION].iFileType = 1; fnRead[OPT_ORBMEANMOTION] = &ReadMeanMotion; - sprintf(options[OPT_ORBPER].cName, "dOrbPeriod"); - sprintf(options[OPT_ORBPER].cDescr, "Orbital Period"); - sprintf(options[OPT_ORBPER].cDefault, "1 year"); - sprintf(options[OPT_ORBPER].cNeg, "Days"); - sprintf(options[OPT_ORBPER].cDimension, "time"); + fvFormattedString(&options[OPT_ORBPER].cName, "dOrbPeriod"); + fvFormattedString(&options[OPT_ORBPER].cDescr, "Orbital Period"); + fvFormattedString(&options[OPT_ORBPER].cDefault, "1 year"); + fvFormattedString(&options[OPT_ORBPER].cNeg, "Days"); + fvFormattedString(&options[OPT_ORBPER].cDimension, "time"); options[OPT_ORBPER].dDefault = YEARSEC; options[OPT_ORBPER].iType = 2; options[OPT_ORBPER].dNeg = DAYSEC; @@ -4207,11 +4206,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ORBPER].iFileType = 1; fnRead[OPT_ORBPER] = &ReadOrbPeriod; - sprintf(options[OPT_ORBSEMI].cName, "dSemi"); - sprintf(options[OPT_ORBSEMI].cDescr, "Semi-Major Axis"); - sprintf(options[OPT_ORBSEMI].cDefault, "1 AU"); - sprintf(options[OPT_ORBSEMI].cNeg, "AU"); - sprintf(options[OPT_ORBSEMI].cDimension, "length"); + fvFormattedString(&options[OPT_ORBSEMI].cName, "dSemi"); + fvFormattedString(&options[OPT_ORBSEMI].cDescr, "Semi-Major Axis"); + fvFormattedString(&options[OPT_ORBSEMI].cDefault, "1 AU"); + fvFormattedString(&options[OPT_ORBSEMI].cNeg, "AU"); + fvFormattedString(&options[OPT_ORBSEMI].cDimension, "length"); options[OPT_ORBSEMI].dDefault = AUM; options[OPT_ORBSEMI].iType = 2; options[OPT_ORBSEMI].dNeg = AUM; @@ -4221,11 +4220,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ORBSEMI].iFileType = 1; fnRead[OPT_ORBSEMI] = &ReadSemiMajorAxis; - sprintf(options[OPT_INC].cName, "dInc"); - sprintf(options[OPT_INC].cDescr, "Inclination of planet's orbital plane"); - sprintf(options[OPT_INC].cDefault, "0"); - sprintf(options[OPT_INC].cNeg, "Degrees"); - sprintf(options[OPT_INC].cDimension, "angle"); + fvFormattedString(&options[OPT_INC].cName, "dInc"); + fvFormattedString(&options[OPT_INC].cDescr, "Inclination of planet's orbital plane"); + fvFormattedString(&options[OPT_INC].cDefault, "0"); + fvFormattedString(&options[OPT_INC].cNeg, "Degrees"); + fvFormattedString(&options[OPT_INC].cDimension, "angle"); options[OPT_INC].dDefault = 0.0; options[OPT_INC].iType = 2; options[OPT_INC].bMultiFile = 1; @@ -4235,11 +4234,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_INC].iFileType = 1; fnRead[OPT_INC] = &ReadInc; - sprintf(options[OPT_ARGP].cName, "dArgP"); - sprintf(options[OPT_ARGP].cDescr, "Argument of pericenter of planet's orbit"); - sprintf(options[OPT_ARGP].cDefault, "0"); - sprintf(options[OPT_ARGP].cNeg, "Degrees"); - sprintf(options[OPT_ARGP].cDimension, "angle"); + fvFormattedString(&options[OPT_ARGP].cName, "dArgP"); + fvFormattedString(&options[OPT_ARGP].cDescr, "Argument of pericenter of planet's orbit"); + fvFormattedString(&options[OPT_ARGP].cDefault, "0"); + fvFormattedString(&options[OPT_ARGP].cNeg, "Degrees"); + fvFormattedString(&options[OPT_ARGP].cDimension, "angle"); options[OPT_ARGP].dDefault = 0.0; options[OPT_ARGP].iType = 2; options[OPT_ARGP].bMultiFile = 1; @@ -4253,11 +4252,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * P */ - sprintf(options[OPT_PRECA].cName, "dPrecA"); - sprintf(options[OPT_PRECA].cDescr, "Planet's precession angle"); - sprintf(options[OPT_PRECA].cDefault, "0"); - sprintf(options[OPT_PRECA].cNeg, "Degrees"); - sprintf(options[OPT_PRECA].cDimension, "angle"); + fvFormattedString(&options[OPT_PRECA].cName, "dPrecA"); + fvFormattedString(&options[OPT_PRECA].cDescr, "Planet's precession angle"); + fvFormattedString(&options[OPT_PRECA].cDefault, "0"); + fvFormattedString(&options[OPT_PRECA].cNeg, "Degrees"); + fvFormattedString(&options[OPT_PRECA].cDimension, "angle"); options[OPT_PRECA].dDefault = 0.0; options[OPT_PRECA].iType = 2; options[OPT_PRECA].bMultiFile = 1; @@ -4267,12 +4266,12 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_PRECA].iFileType = 1; fnRead[OPT_PRECA] = &ReadPrecA; - sprintf(options[OPT_LONGA].cName, "dLongA"); - sprintf(options[OPT_LONGA].cDescr, + fvFormattedString(&options[OPT_LONGA].cName, "dLongA"); + fvFormattedString(&options[OPT_LONGA].cDescr, "Longitude of ascending node of planet's orbital plane"); - sprintf(options[OPT_LONGA].cDefault, "0"); - sprintf(options[OPT_LONGA].cNeg, "Degrees"); - sprintf(options[OPT_LONGA].cDimension, "angle"); + fvFormattedString(&options[OPT_LONGA].cDefault, "0"); + fvFormattedString(&options[OPT_LONGA].cNeg, "Degrees"); + fvFormattedString(&options[OPT_LONGA].cDimension, "angle"); options[OPT_LONGA].dDefault = 0.0; options[OPT_LONGA].iType = 2; options[OPT_LONGA].bMultiFile = 1; @@ -4282,10 +4281,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_LONGA].iFileType = 1; fnRead[OPT_LONGA] = &ReadLongA; - sprintf(options[OPT_DYNELLIP].cName, "dDynEllip"); - sprintf(options[OPT_DYNELLIP].cDescr, "Planet's dynamical ellipticity"); - sprintf(options[OPT_DYNELLIP].cDefault, "0.00328"); - sprintf(options[OPT_DYNELLIP].cDimension, "nd"); + fvFormattedString(&options[OPT_DYNELLIP].cName, "dDynEllip"); + 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; options[OPT_DYNELLIP].iType = 2; options[OPT_DYNELLIP].bMultiFile = 1; @@ -4294,10 +4293,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_DYNELLIP].iFileType = 1; fnRead[OPT_DYNELLIP] = &ReadDynEllip; - sprintf(options[OPT_CALCDYNELLIP].cName, "bCalcDynEllip"); - sprintf(options[OPT_CALCDYNELLIP].cDescr, + fvFormattedString(&options[OPT_CALCDYNELLIP].cName, "bCalcDynEllip"); + fvFormattedString(&options[OPT_CALCDYNELLIP].cDescr, "Calculate dynamical ellipticity from RotRate"); - sprintf(options[OPT_CALCDYNELLIP].cDefault, "0"); + fvFormattedString(&options[OPT_CALCDYNELLIP].cDefault, "0"); options[OPT_CALCDYNELLIP].dDefault = 0; options[OPT_CALCDYNELLIP].iType = 0; options[OPT_CALCDYNELLIP].bMultiFile = 1; @@ -4306,45 +4305,45 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_CALCDYNELLIP].iFileType = 1; fnRead[OPT_CALCDYNELLIP] = &ReadCalcDynEllip; - sprintf(options[OPT_SURFACEWATERMASS].cName, "dSurfWaterMass"); - sprintf(options[OPT_SURFACEWATERMASS].cDescr, "Initial Surface Water Mass"); - sprintf(options[OPT_SURFACEWATERMASS].cDefault, "0"); - sprintf(options[OPT_SURFACEWATERMASS].cNeg, "Terrestrial Oceans (TO)"); - sprintf(options[OPT_SURFACEWATERMASS].cDimension, "mass"); + fvFormattedString(&options[OPT_SURFACEWATERMASS].cName, "dSurfWaterMass"); + fvFormattedString(&options[OPT_SURFACEWATERMASS].cDescr, "Initial Surface Water Mass"); + fvFormattedString(&options[OPT_SURFACEWATERMASS].cDefault, "0"); + fvFormattedString(&options[OPT_SURFACEWATERMASS].cNeg, "Terrestrial Oceans (TO)"); + fvFormattedString(&options[OPT_SURFACEWATERMASS].cDimension, "mass"); options[OPT_SURFACEWATERMASS].dDefault = 0; options[OPT_SURFACEWATERMASS].iType = 2; options[OPT_SURFACEWATERMASS].bMultiFile = 1; options[OPT_SURFACEWATERMASS].dNeg = TOMASS; fnRead[OPT_SURFACEWATERMASS] = &ReadSurfaceWaterMass; - sprintf(options[OPT_MINSURFACEWATERMASS].cName, "dMinSurfWaterMass"); - sprintf(options[OPT_MINSURFACEWATERMASS].cDescr, + fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cName, "dMinSurfWaterMass"); + fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cDescr, "Minimum Surface Water Mass"); - sprintf(options[OPT_MINSURFACEWATERMASS].cDefault, "1.e-5 TO"); - sprintf(options[OPT_MINSURFACEWATERMASS].cNeg, "Terrestrial Oceans (TO)"); - sprintf(options[OPT_MINSURFACEWATERMASS].cDimension, "mass"); + fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cDefault, "1.e-5 TO"); + fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cNeg, "Terrestrial Oceans (TO)"); + fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cDimension, "mass"); options[OPT_MINSURFACEWATERMASS].dDefault = 1.e-5 * TOMASS; options[OPT_MINSURFACEWATERMASS].iType = 2; options[OPT_MINSURFACEWATERMASS].dNeg = TOMASS; options[OPT_MINSURFACEWATERMASS].bMultiFile = 1; fnRead[OPT_MINSURFACEWATERMASS] = &ReadMinSurfaceWaterMass; - sprintf(options[OPT_ENVELOPEMASS].cName, "dEnvelopeMass"); - sprintf(options[OPT_ENVELOPEMASS].cDescr, "Initial Envelope Mass"); - sprintf(options[OPT_ENVELOPEMASS].cDefault, "0"); - sprintf(options[OPT_ENVELOPEMASS].cNeg, "Mearth"); - sprintf(options[OPT_ENVELOPEMASS].cDimension, "mass"); + fvFormattedString(&options[OPT_ENVELOPEMASS].cName, "dEnvelopeMass"); + fvFormattedString(&options[OPT_ENVELOPEMASS].cDescr, "Initial Envelope Mass"); + fvFormattedString(&options[OPT_ENVELOPEMASS].cDefault, "0"); + fvFormattedString(&options[OPT_ENVELOPEMASS].cNeg, "Mearth"); + fvFormattedString(&options[OPT_ENVELOPEMASS].cDimension, "mass"); options[OPT_ENVELOPEMASS].dDefault = 0; options[OPT_ENVELOPEMASS].iType = 2; options[OPT_ENVELOPEMASS].bMultiFile = 1; options[OPT_ENVELOPEMASS].dNeg = MEARTH; fnRead[OPT_ENVELOPEMASS] = &ReadEnvelopeMass; - sprintf(options[OPT_MINENVELOPEMASS].cName, "dMinEnvelopeMass"); - sprintf(options[OPT_MINENVELOPEMASS].cDescr, "Minimum Envelope Mass"); - sprintf(options[OPT_MINENVELOPEMASS].cDefault, "1.e-8 Earth"); - sprintf(options[OPT_MINENVELOPEMASS].cNeg, "Mearth"); - sprintf(options[OPT_MINENVELOPEMASS].cDimension, "mass"); + fvFormattedString(&options[OPT_MINENVELOPEMASS].cName, "dMinEnvelopeMass"); + fvFormattedString(&options[OPT_MINENVELOPEMASS].cDescr, "Minimum Envelope Mass"); + fvFormattedString(&options[OPT_MINENVELOPEMASS].cDefault, "1.e-8 Earth"); + fvFormattedString(&options[OPT_MINENVELOPEMASS].cNeg, "Mearth"); + fvFormattedString(&options[OPT_MINENVELOPEMASS].cDimension, "mass"); options[OPT_MINENVELOPEMASS].dDefault = 1.e-8 * MEARTH; options[OPT_MINENVELOPEMASS].iType = 2; options[OPT_MINENVELOPEMASS].dNeg = MEARTH; @@ -4356,11 +4355,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_MASS].cName, "dMass"); - sprintf(options[OPT_MASS].cDescr, "Mass"); - sprintf(options[OPT_MASS].cDefault, "1 Earth Mass"); - sprintf(options[OPT_MASS].cNeg, "Mearth"); - sprintf(options[OPT_MASS].cDimension, "mass"); + fvFormattedString(&options[OPT_MASS].cName, "dMass"); + fvFormattedString(&options[OPT_MASS].cDescr, "Mass"); + fvFormattedString(&options[OPT_MASS].cDefault, "1 Earth Mass"); + fvFormattedString(&options[OPT_MASS].cNeg, "Mearth"); + fvFormattedString(&options[OPT_MASS].cDimension, "mass"); options[OPT_MASS].dDefault = MEARTH; options[OPT_MASS].iType = 2; options[OPT_MASS].bMultiFile = 1; @@ -4370,9 +4369,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_MASS].iFileType = 1; fnRead[OPT_MASS] = &ReadMass; - sprintf(options[OPT_BODYTYPE].cName, "iBodyType"); - sprintf(options[OPT_BODYTYPE].cDescr, "BodyType"); - sprintf(options[OPT_BODYTYPE].cDefault, "0 Planet"); + fvFormattedString(&options[OPT_BODYTYPE].cName, "iBodyType"); + fvFormattedString(&options[OPT_BODYTYPE].cDescr, "BodyType"); + fvFormattedString(&options[OPT_BODYTYPE].cDefault, "0 Planet"); options[OPT_BODYTYPE].dDefault = 0; options[OPT_BODYTYPE].iType = 1; options[OPT_BODYTYPE].bMultiFile = 1; @@ -4381,10 +4380,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_BODYTYPE].iFileType = 1; fnRead[OPT_BODYTYPE] = &ReadBodyType; - sprintf(options[OPT_MASSRAD].cName, "sMassRad"); - sprintf(options[OPT_MASSRAD].cDescr, + fvFormattedString(&options[OPT_MASSRAD].cName, "sMassRad"); + fvFormattedString(&options[OPT_MASSRAD].cDescr, "Mass-Radius Relationship for Central Body: GS99 RH00 BO06 Sotin07 "); - sprintf(options[OPT_MASSRAD].cDefault, "None"); + fvFormattedString(&options[OPT_MASSRAD].cDefault, "None"); options[OPT_MASSRAD].iType = 3; options[OPT_MASSRAD].bMultiFile = 1; options[OPT_MASSRAD].iModuleBit = @@ -4393,10 +4392,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_MASSRAD].iFileType = 1; fnRead[OPT_MASSRAD] = &ReadMassRad; - sprintf(options[OPT_OBL].cName, "dObliquity"); - sprintf(options[OPT_OBL].cDescr, "Obliquity"); - sprintf(options[OPT_OBL].cDefault, "0"); - sprintf(options[OPT_OBL].cDimension, "angle"); + fvFormattedString(&options[OPT_OBL].cName, "dObliquity"); + fvFormattedString(&options[OPT_OBL].cDescr, "Obliquity"); + fvFormattedString(&options[OPT_OBL].cDefault, "0"); + fvFormattedString(&options[OPT_OBL].cDimension, "angle"); options[OPT_OBL].dDefault = 0; options[OPT_OBL].iType = 2; options[OPT_OBL].bMultiFile = 1; @@ -4405,10 +4404,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_OBL].iFileType = 1; fnRead[OPT_OBL] = &ReadObliquity; - sprintf(options[OPT_COSOBL].cName, "dCosObl"); - sprintf(options[OPT_COSOBL].cDescr, "Coine of the Obliquity"); - sprintf(options[OPT_COSOBL].cDefault, "0.5"); - sprintf(options[OPT_COSOBL].cDimension, "nd"); + fvFormattedString(&options[OPT_COSOBL].cName, "dCosObl"); + fvFormattedString(&options[OPT_COSOBL].cDescr, "Coine of the Obliquity"); + fvFormattedString(&options[OPT_COSOBL].cDefault, "0.5"); + fvFormattedString(&options[OPT_COSOBL].cDimension, "nd"); options[OPT_COSOBL].dDefault = 0.5; options[OPT_COSOBL].iType = 2; options[OPT_COSOBL].bMultiFile = 1; @@ -4416,7 +4415,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_COSOBL].bNeg = 0; options[OPT_COSOBL].iFileType = 1; fnRead[OPT_COSOBL] = &ReadCosObl; - sprintf(options[OPT_COSOBL].cLongDescr, + fvFormattedString(&options[OPT_COSOBL].cLongDescr, "Planet formation simulations predict that an isotropic distribution " "of\n" "rotational angular momentum vectors is a typical outcome. This " @@ -4425,11 +4424,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { "option\n" "to sample a realistic distribution of initial obliquities.\n"); - sprintf(options[OPT_RADIUS].cName, "dRadius"); - sprintf(options[OPT_RADIUS].cDescr, "Radius"); - sprintf(options[OPT_RADIUS].cDefault, "1 Earth Radius"); - sprintf(options[OPT_RADIUS].cNeg, "Rearth"); - sprintf(options[OPT_RADIUS].cDimension, "length"); + fvFormattedString(&options[OPT_RADIUS].cName, "dRadius"); + fvFormattedString(&options[OPT_RADIUS].cDescr, "Radius"); + fvFormattedString(&options[OPT_RADIUS].cDefault, "1 Earth Radius"); + fvFormattedString(&options[OPT_RADIUS].cNeg, "Rearth"); + fvFormattedString(&options[OPT_RADIUS].cDimension, "length"); options[OPT_RADIUS].dDefault = REARTH; options[OPT_RADIUS].iType = 2; options[OPT_RADIUS].bMultiFile = 1; @@ -4439,11 +4438,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_RADIUS].iFileType = 1; fnRead[OPT_RADIUS] = &ReadRadius; - sprintf(options[OPT_RG].cName, "dRadGyra"); - sprintf(options[OPT_RG].cDescr, + fvFormattedString(&options[OPT_RG].cName, "dRadGyra"); + fvFormattedString(&options[OPT_RG].cDescr, "Radius of Gyration; moment of inertia constant"); - sprintf(options[OPT_RG].cDefault, "0.5"); - sprintf(options[OPT_RG].cDimension, "nd"); + fvFormattedString(&options[OPT_RG].cDefault, "0.5"); + fvFormattedString(&options[OPT_RG].cDimension, "nd"); options[OPT_RG].dDefault = 0.5; options[OPT_RG].iType = 2; options[OPT_RG].bMultiFile = 1; @@ -4452,11 +4451,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_RG].iFileType = 1; fnRead[OPT_RG] = &ReadRadiusGyration; - sprintf(options[OPT_ROTPER].cName, "dRotPeriod"); - sprintf(options[OPT_ROTPER].cDescr, "Rotation Period"); - sprintf(options[OPT_ROTPER].cDefault, "1 Day"); - sprintf(options[OPT_ROTPER].cNeg, "Days"); - sprintf(options[OPT_ROTPER].cDimension, "time"); + fvFormattedString(&options[OPT_ROTPER].cName, "dRotPeriod"); + fvFormattedString(&options[OPT_ROTPER].cDescr, "Rotation Period"); + fvFormattedString(&options[OPT_ROTPER].cDefault, "1 Day"); + fvFormattedString(&options[OPT_ROTPER].cNeg, "Days"); + fvFormattedString(&options[OPT_ROTPER].cDimension, "time"); options[OPT_ROTPER].dDefault = DAYSEC; options[OPT_ROTPER].iType = 2; options[OPT_ROTPER].bMultiFile = 1; @@ -4466,11 +4465,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ROTPER].iFileType = 1; fnRead[OPT_ROTPER] = &ReadRotPeriod; - sprintf(options[OPT_ROTRATE].cName, "dRotRate"); - sprintf(options[OPT_ROTRATE].cDescr, "Rotational Angular Frequency"); - sprintf(options[OPT_ROTRATE].cDefault, "2*pi/day"); - sprintf(options[OPT_ROTRATE].cNeg, "/Day"); - sprintf(options[OPT_ROTRATE].cDimension, "time^-1"); + fvFormattedString(&options[OPT_ROTRATE].cName, "dRotRate"); + fvFormattedString(&options[OPT_ROTRATE].cDescr, "Rotational Angular Frequency"); + fvFormattedString(&options[OPT_ROTRATE].cDefault, "2*pi/day"); + fvFormattedString(&options[OPT_ROTRATE].cNeg, "/Day"); + fvFormattedString(&options[OPT_ROTRATE].cDimension, "time^-1"); options[OPT_ROTRATE].dDefault = 2 * PI / DAYSEC; options[OPT_ROTRATE].iType = 2; options[OPT_ROTRATE].bMultiFile = 1; @@ -4480,11 +4479,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ROTRATE].iFileType = 1; fnRead[OPT_ROTRATE] = &ReadRotRate; - sprintf(options[OPT_ROTVEL].cName, "dRotVel"); - sprintf(options[OPT_ROTVEL].cDescr, "Rotational Velocity"); - sprintf(options[OPT_ROTVEL].cDefault, "0"); - sprintf(options[OPT_ROTVEL].cNeg, "km/s"); - sprintf(options[OPT_ROTVEL].cDimension, "mass/time"); + fvFormattedString(&options[OPT_ROTVEL].cName, "dRotVel"); + fvFormattedString(&options[OPT_ROTVEL].cDescr, "Rotational Velocity"); + fvFormattedString(&options[OPT_ROTVEL].cDefault, "0"); + fvFormattedString(&options[OPT_ROTVEL].cNeg, "km/s"); + fvFormattedString(&options[OPT_ROTVEL].cDimension, "mass/time"); options[OPT_ROTVEL].dDefault = 0; options[OPT_ROTVEL].iType = 2; options[OPT_ROTVEL].bMultiFile = 1; @@ -4500,67 +4499,67 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_UNITANGLE].cName, "sUnitAngle"); - sprintf(options[OPT_UNITANGLE].cDescr, "Angle Units: Degrees Radians"); - sprintf(options[OPT_UNITANGLE].cDefault, "Radians"); + fvFormattedString(&options[OPT_UNITANGLE].cName, "sUnitAngle"); + fvFormattedString(&options[OPT_UNITANGLE].cDescr, "Angle Units: Degrees Radians"); + fvFormattedString(&options[OPT_UNITANGLE].cDefault, "Radians"); options[OPT_UNITANGLE].iModuleBit = 0; options[OPT_UNITANGLE].bNeg = 0; options[OPT_UNITANGLE].iType = 3; options[OPT_UNITANGLE].iFileType = 2; - sprintf(options[OPT_UNITLENGTH].cName, "sUnitLength"); - sprintf(options[OPT_UNITLENGTH].cDescr, + fvFormattedString(&options[OPT_UNITLENGTH].cName, "sUnitLength"); + fvFormattedString(&options[OPT_UNITLENGTH].cDescr, "Length Units: cm m km Solar Earth Jupiter AU"); - sprintf(options[OPT_UNITLENGTH].cDefault, "cm"); + fvFormattedString(&options[OPT_UNITLENGTH].cDefault, "cm"); options[OPT_UNITLENGTH].iModuleBit = 0; options[OPT_UNITLENGTH].bNeg = 0; options[OPT_UNITLENGTH].iType = 3; options[OPT_UNITLENGTH].iFileType = 2; - sprintf(options[OPT_UNITMASS].cName, "sUnitMass"); - sprintf(options[OPT_UNITMASS].cDescr, + fvFormattedString(&options[OPT_UNITMASS].cName, "sUnitMass"); + fvFormattedString(&options[OPT_UNITMASS].cDescr, "Mass Units: Grams Kilograms Solar Earth Jupiter Saturn"); - sprintf(options[OPT_UNITMASS].cDefault, "grams"); + fvFormattedString(&options[OPT_UNITMASS].cDefault, "grams"); options[OPT_UNITMASS].iModuleBit = 0; options[OPT_UNITMASS].bNeg = 0; options[OPT_UNITMASS].iType = 3; options[OPT_UNITMASS].iFileType = 2; - sprintf(options[OPT_UNITTIME].cName, "sUnitTime"); - sprintf(options[OPT_UNITTIME].cDescr, + fvFormattedString(&options[OPT_UNITTIME].cName, "sUnitTime"); + fvFormattedString(&options[OPT_UNITTIME].cDescr, "Time Units: Seconds, Days Years Myr Gyr"); - sprintf(options[OPT_UNITTIME].cDefault, "Seconds"); + fvFormattedString(&options[OPT_UNITTIME].cDefault, "Seconds"); options[OPT_UNITTIME].iModuleBit = 0; options[OPT_UNITTIME].bNeg = 0; options[OPT_UNITTIME].iType = 3; options[OPT_UNITTIME].iFileType = 2; - sprintf(options[OPT_UNITTEMP].cName, "sUnitTemp"); - sprintf(options[OPT_UNITTEMP].cDescr, + fvFormattedString(&options[OPT_UNITTEMP].cName, "sUnitTemp"); + fvFormattedString(&options[OPT_UNITTEMP].cDescr, "Temperature Units: Kelvin Celsius Farenheit"); - sprintf(options[OPT_UNITTEMP].cDefault, "Kelvin"); + fvFormattedString(&options[OPT_UNITTEMP].cDefault, "Kelvin"); options[OPT_UNITTEMP].iModuleBit = 0; options[OPT_UNITTEMP].bNeg = 0; options[OPT_UNITTEMP].iType = 3; options[OPT_UNITTEMP].iFileType = 2; - sprintf(options[OPT_TEMPERATURE].cName, "dTemperature"); - sprintf(options[OPT_TEMPERATURE].cDescr, "Initial effective temperature"); - sprintf(options[OPT_TEMPERATURE].cDefault, "TSUN"); - sprintf(options[OPT_TEMPERATURE].cDimension, "temperature"); + fvFormattedString(&options[OPT_TEMPERATURE].cName, "dTemperature"); + fvFormattedString(&options[OPT_TEMPERATURE].cDescr, "Initial effective temperature"); + fvFormattedString(&options[OPT_TEMPERATURE].cDefault, "TSUN"); + fvFormattedString(&options[OPT_TEMPERATURE].cDimension, "temperature"); options[OPT_TEMPERATURE].dDefault = TSUN; options[OPT_TEMPERATURE].iType = 2; options[OPT_TEMPERATURE].bMultiFile = 1; fnRead[OPT_TEMPERATURE] = &ReadTemperature; - sprintf(options[OPT_USEOUTERTIDALQ].cName, "bUseOuterTidalQ"); - sprintf(options[OPT_USEOUTERTIDALQ].cDescr, + fvFormattedString(&options[OPT_USEOUTERTIDALQ].cName, "bUseOuterTidalQ"); + fvFormattedString(&options[OPT_USEOUTERTIDALQ].cDescr, "User outermost layer's tidal Q as body's total tidal Q?"); - sprintf(options[OPT_USEOUTERTIDALQ].cDefault, "0"); + fvFormattedString(&options[OPT_USEOUTERTIDALQ].cDefault, "0"); options[OPT_USEOUTERTIDALQ].iType = 0; options[OPT_USEOUTERTIDALQ].bMultiFile = 1; fnRead[OPT_USEOUTERTIDALQ] = &ReadUseOuterTidalQ; - sprintf(options[OPT_USEOUTERTIDALQ].cLongDescr, + fvFormattedString(&options[OPT_USEOUTERTIDALQ].cLongDescr, "The total tidal Q of a body can be computed either as the sum of\n" "contributions of all layers (mantle, ocean, envelope), or as the " "tidal Q\n" @@ -4576,15 +4575,15 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - sprintf(options[OPT_VERBOSE].cName, "iVerbose"); - sprintf(options[OPT_VERBOSE].cDescr, "Verbosity Level: 0-5"); - sprintf(options[OPT_VERBOSE].cDefault, "3"); + fvFormattedString(&options[OPT_VERBOSE].cName, "iVerbose"); + fvFormattedString(&options[OPT_VERBOSE].cDescr, "Verbosity Level: 0-5"); + fvFormattedString(&options[OPT_VERBOSE].cDefault, "3"); options[OPT_VERBOSE].iModuleBit = 0; options[OPT_VERBOSE].bNeg = 0; options[OPT_VERBOSE].iType = 1; options[OPT_VERBOSE].iFileType = 2; - sprintf( - options[OPT_VERBOSE].cLongDescr, + fvFormattedString( + &options[OPT_VERBOSE].cLongDescr, "Set how much text is written to the screen. 0 = no output, 1 = only\n" "errors, 2 = progress updates, 3 = statements about input choices, 4 " "=\n" @@ -4593,10 +4592,10 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { "0 and 5 can be set at execution with the -q and -v options, " "respectively."); - sprintf(options[OPT_VISCUMAN].cName, "dViscUMan"); - sprintf(options[OPT_VISCUMAN].cDescr, "Upper mantle viscosity"); - sprintf(options[OPT_VISCUMAN].cDefault, "0"); - sprintf(options[OPT_VISCUMAN].cDimension, "length^2/time"); + fvFormattedString(&options[OPT_VISCUMAN].cName, "dViscUMan"); + fvFormattedString(&options[OPT_VISCUMAN].cDescr, "Upper mantle viscosity"); + fvFormattedString(&options[OPT_VISCUMAN].cDefault, "0"); + fvFormattedString(&options[OPT_VISCUMAN].cDimension, "length^2/time"); options[OPT_VISCUMAN].dDefault = 0; options[OPT_VISCUMAN].iType = 2; options[OPT_VISCUMAN].bMultiFile = 1; @@ -4613,9 +4612,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { /* Someday... - sprintf(options[OPT_XOBL].cName,"dXobl"); - sprintf(options[OPT_XOBL].cDescr,"Deitrick's X -- Unsupported!"); - sprintf(options[OPT_XOBL].cDefault,"-1"); + fvFormattedString(options[OPT_XOBL].cName,"dXobl"); + fvFormattedString(options[OPT_XOBL].cDescr,"Deitrick's X -- Unsupported!"); + fvFormattedString(options[OPT_XOBL].cDefault,"-1"); options[OPT_XOBL].dDefault = -1; options[OPT_XOBL].iType = 2; options[OPT_XOBL].iModuleBit = SPINBODY + DISTROT; @@ -4629,9 +4628,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * * / - sprintf(options[OPT_YOBL].cName,"dYobl"); - sprintf(options[OPT_YOBL].cDescr,"Deitrick's Y -- Unsupported!"); - sprintf(options[OPT_YOBL].cDefault,"-1"); + fvFormattedString(options[OPT_YOBL].cName,"dYobl"); + fvFormattedString(options[OPT_YOBL].cDescr,"Deitrick's Y -- Unsupported!"); + fvFormattedString(options[OPT_YOBL].cDefault,"-1"); options[OPT_YOBL].dDefault = -1; options[OPT_YOBL].iType = 2; options[OPT_YOBL].iModuleBit = SPINBODY + DISTROT; @@ -4645,9 +4644,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * * / - sprintf(options[OPT_ZOBL].cName,"dZobl"); - sprintf(options[OPT_ZOBL].cDescr,"Deitrick's Z -- Unsupported!"); - sprintf(options[OPT_ZOBL].cDefault,"-1"); + fvFormattedString(options[OPT_ZOBL].cName,"dZobl"); + fvFormattedString(options[OPT_ZOBL].cDescr,"Deitrick's Z -- Unsupported!"); + fvFormattedString(options[OPT_ZOBL].cDefault,"-1"); options[OPT_ZOBL].dDefault = -1; options[OPT_ZOBL].iType = 2; options[OPT_ZOBL].iModuleBit = SPINBODY + DISTROT; @@ -4663,21 +4662,21 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { /* Initialize all parameters describing the option's location */ for (iOpt = 0; iOpt < MODULEOPTEND; iOpt++) { memset(options[iOpt].cName, '\0', OPTLEN); - sprintf(options[iOpt].cName, "null"); + fvFormattedString(&options[iOpt].cName, "null"); options[iOpt].iLine = malloc(MAXFILES * sizeof(int)); options[iOpt].bMultiFile = 0; options[iOpt].iMultiIn = 0; options[iOpt].iType = -1; memset(options[iOpt].cDescr, '\0', OPTDESCR); - sprintf(options[iOpt].cDescr, "null"); + fvFormattedString(&options[iOpt].cDescr, "null"); memset(options[iOpt].cLongDescr, '\0', OPTLONDESCR); - sprintf(options[iOpt].cLongDescr, "null"); + fvFormattedString(&options[iOpt].cLongDescr, "null"); memset(options[iOpt].cDefault, '\0', OPTDESCR); - sprintf(options[iOpt].cDefault, "null"); + fvFormattedString(&options[iOpt].cDefault, "null"); memset(options[iOpt].cValues, '\0', OPTDESCR); - sprintf(options[iOpt].cValues, "null"); + fvFormattedString(&options[iOpt].cValues, "null"); memset(options[iOpt].cNeg, '\0', OPTDESCR); - sprintf(options[iOpt].cNeg, "null"); + fvFormattedString(&options[iOpt].cNeg, "null"); memset(options[iOpt].cDimension, '\0', OPTDESCR); options[iOpt].dDefault = NAN; options[iOpt].iModuleBit = 0; @@ -4688,7 +4687,7 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { for (iFile = 0; iFile < MAXFILES; iFile++) { options[iOpt].iLine[iFile] = -1; memset(options[iOpt].cFile[iFile], '\0', OPTLEN); - sprintf(options[iOpt].cFile[iFile], "null"); + fvFormattedString(&options[iOpt].cFile[iFile], "null"); } } diff --git a/src/output.c b/src/output.c index c18220290..e2cfb5a51 100644 --- a/src/output.c +++ b/src/output.c @@ -660,7 +660,7 @@ void WriteOrbEcc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = -1; } } - sprintf(cUnit, "%s", ""); + fvFormattedString(&cUnit, "%s", ""); } // XXX This function doesn't work! @@ -808,7 +808,7 @@ void WriteRadGyra(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { *dTmp = body[iBody].dRadGyra; - sprintf(cUnit, "%s", ""); + fvFormattedString(&cUnit, "%s", ""); } void WriteRotAngMom(BODY *body, CONTROL *control, OUTPUT *output, @@ -1229,9 +1229,9 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * Age */ - sprintf(output[OUT_AGE].cName, "Age"); - sprintf(output[OUT_AGE].cDescr, "System Age"); - sprintf(output[OUT_AGE].cNeg, "Gyr"); + fvFormattedString(&output[OUT_AGE].cName, "Age"); + fvFormattedString(&output[OUT_AGE].cDescr, "System Age"); + fvFormattedString(&output[OUT_AGE].cNeg, "Gyr"); output[OUT_AGE].bNeg = 1; output[OUT_AGE].dNeg = 1. / (YEARSEC * 1e9); output[OUT_AGE].iNum = 1; @@ -1242,8 +1242,8 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * B */ - sprintf(output[OUT_BODYTYPE].cName, "BodyType"); - sprintf(output[OUT_BODYTYPE].cDescr, "Type of Body (0 == planet)"); + fvFormattedString(&output[OUT_BODYTYPE].cName, "BodyType"); + fvFormattedString(&output[OUT_BODYTYPE].cDescr, "Type of Body (0 == planet)"); output[OUT_BODYTYPE].iNum = 1; output[OUT_BODYTYPE].iModuleBit = 1; fnWrite[OUT_BODYTYPE] = &WriteBodyType; @@ -1252,26 +1252,26 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * C */ - sprintf(output[OUT_COPP].cName, "COPP"); - sprintf(output[OUT_COPP].cDescr, "Climate Obliquity Precession Parameter"); + fvFormattedString(&output[OUT_COPP].cName, "COPP"); + fvFormattedString(&output[OUT_COPP].cDescr, "Climate Obliquity Precession Parameter"); output[OUT_COPP].bNeg = 0; output[OUT_COPP].iNum = 1; output[OUT_COPP].iModuleBit = BINARY + EQTIDE + DISTROT + POISE + SPINBODY; fnWrite[OUT_COPP] = &WriteCOPP; - sprintf(output[OUT_COPP].cLongDescr, + fvFormattedString(&output[OUT_COPP].cLongDescr, "eccentriciy * sin(longitude of pericenter + precession angle) * " "sin(obliquity)"); - sprintf(output[OUT_CRITSEMI].cName, "CriticalSemiMajorAxis"); - sprintf(output[OUT_CRITSEMI].cDescr, + fvFormattedString(&output[OUT_CRITSEMI].cName, "CriticalSemiMajorAxis"); + fvFormattedString(&output[OUT_CRITSEMI].cDescr, "Holman & Wiegert (1999) P-type Critical Semi-major Axis"); - sprintf(output[OUT_CRITSEMI].cNeg, "AU"); + fvFormattedString(&output[OUT_CRITSEMI].cNeg, "AU"); output[OUT_CRITSEMI].bNeg = 1; output[OUT_CRITSEMI].dNeg = 1. / AUM; output[OUT_CRITSEMI].iNum = 1; output[OUT_CRITSEMI].iModuleBit = BINARY + EQTIDE + STELLAR; fnWrite[OUT_CRITSEMI] = &WriteCriticalSemi; - sprintf(output[OUT_CRITSEMI].cLongDescr, + fvFormattedString(&output[OUT_CRITSEMI].cLongDescr, "For a circumbinary planet, semi-major axes below a critical value " "result\n" "in unstable orbits. This output parameter prints the instantaneous\n" @@ -1281,18 +1281,18 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * D */ - sprintf(output[OUT_DT].cName, "DeltaTime"); - sprintf(output[OUT_DT].cDescr, "Average Timestep Over Last Output Interval"); - sprintf(output[OUT_DT].cNeg, "years"); + fvFormattedString(&output[OUT_DT].cName, "DeltaTime"); + fvFormattedString(&output[OUT_DT].cDescr, "Average Timestep Over Last Output Interval"); + fvFormattedString(&output[OUT_DT].cNeg, "years"); output[OUT_DT].bNeg = 1; output[OUT_DT].dNeg = 1. / YEARSEC; output[OUT_DT].iNum = 1; output[OUT_DT].iModuleBit = 1; fnWrite[OUT_DT] = &WriteDeltaTime; - sprintf(output[OUT_DENSITY].cName, "Density"); - sprintf(output[OUT_DENSITY].cDescr, "Average Density"); - sprintf(output[OUT_DENSITY].cNeg, "EarthDensity"); + fvFormattedString(&output[OUT_DENSITY].cName, "Density"); + fvFormattedString(&output[OUT_DENSITY].cDescr, "Average Density"); + fvFormattedString(&output[OUT_DENSITY].cNeg, "EarthDensity"); output[OUT_DENSITY].bNeg = 1; output[OUT_DENSITY].dNeg = 3 * REARTH * REARTH * REARTH / (4 * PI * MEARTH); // kg/m^3 @@ -1304,96 +1304,96 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * H */ - sprintf(output[OUT_HECC].cName, "HEcc"); - sprintf(output[OUT_HECC].cDescr, "Poincare's h (=e*sin(varpi)"); + fvFormattedString(&output[OUT_HECC].cName, "HEcc"); + fvFormattedString(&output[OUT_HECC].cDescr, "Poincare's h (=e*sin(varpi)"); output[OUT_HECC].bNeg = 0; output[OUT_HECC].iNum = 1; output[OUT_HECC].iModuleBit = EQTIDE + DISTORB; fnWrite[OUT_HECC] = &WriteHecc; - sprintf(output[OUT_HZLIMDRYRUNAWAY].cName, "HZLimitDryRunaway"); - sprintf(output[OUT_HZLIMDRYRUNAWAY].cDescr, + fvFormattedString(&output[OUT_HZLIMDRYRUNAWAY].cName, "HZLimitDryRunaway"); + fvFormattedString(&output[OUT_HZLIMDRYRUNAWAY].cDescr, "Semi-major axis of Dry Runaway HZ Limit"); - sprintf(output[OUT_HZLIMDRYRUNAWAY].cNeg, "AU"); + fvFormattedString(&output[OUT_HZLIMDRYRUNAWAY].cNeg, "AU"); output[OUT_HZLIMDRYRUNAWAY].bNeg = 1; output[OUT_HZLIMDRYRUNAWAY].dNeg = 1 / AUM; output[OUT_HZLIMDRYRUNAWAY].iNum = 1; output[OUT_HZLIMDRYRUNAWAY].iModuleBit = 1; fnWrite[OUT_HZLIMDRYRUNAWAY] = &WriteHZLimitDryRunaway; - sprintf(output[OUT_HZLIMDRYRUNAWAY].cLongDescr, + fvFormattedString(&output[OUT_HZLIMDRYRUNAWAY].cLongDescr, "Minimum distance where a \"dry\" planet can be habitable, following " "Abe\n" "et al. (2011), or ~415 W/m^2 net instellation."); - sprintf(output[OUT_HZLIMRECVENUS].cName, "HZLimRecVenus"); - sprintf(output[OUT_HZLIMRECVENUS].cDescr, "Recent Venus HZ Limit"); - sprintf(output[OUT_HZLIMRECVENUS].cNeg, "AU"); + fvFormattedString(&output[OUT_HZLIMRECVENUS].cName, "HZLimRecVenus"); + fvFormattedString(&output[OUT_HZLIMRECVENUS].cDescr, "Recent Venus HZ Limit"); + fvFormattedString(&output[OUT_HZLIMRECVENUS].cNeg, "AU"); output[OUT_HZLIMRECVENUS].bNeg = 1; output[OUT_HZLIMRECVENUS].dNeg = 1. / AUM; output[OUT_HZLIMRECVENUS].iNum = 1; output[OUT_HZLIMRECVENUS].iModuleBit = 1; fnWrite[OUT_HZLIMRECVENUS] = &WriteHZLimitRecentVenus; - sprintf(output[OUT_HZLIMRECVENUS].cLongDescr, + fvFormattedString(&output[OUT_HZLIMRECVENUS].cLongDescr, "Recent Venus habitable zone limit from Kopparapu et al. (2013). The " "value\n" "is determined by the total luminosity and average effective " "temperature\n" "of all interior bodies."); - sprintf(output[OUT_HZLIMRUNAWAY].cName, "HZLimRunaway"); - sprintf(output[OUT_HZLIMRUNAWAY].cDescr, "Runaway Greenhouse HZ Limit"); - sprintf(output[OUT_HZLIMRUNAWAY].cNeg, "AU"); + fvFormattedString(&output[OUT_HZLIMRUNAWAY].cName, "HZLimRunaway"); + fvFormattedString(&output[OUT_HZLIMRUNAWAY].cDescr, "Runaway Greenhouse HZ Limit"); + fvFormattedString(&output[OUT_HZLIMRUNAWAY].cNeg, "AU"); output[OUT_HZLIMRUNAWAY].bNeg = 1; output[OUT_HZLIMRUNAWAY].dNeg = 1. / AUM; output[OUT_HZLIMRUNAWAY].iNum = 1; output[OUT_HZLIMRUNAWAY].iModuleBit = 1; fnWrite[OUT_HZLIMRUNAWAY] = &WriteHZLimitRunawayGreenhouse; - sprintf(output[OUT_HZLIMRUNAWAY].cLongDescr, + fvFormattedString(&output[OUT_HZLIMRUNAWAY].cLongDescr, "Runaway greenhouse habitable zone limit from Kopparapu et al. " "(2013).\n" "The value is determined by the total luminosity and average " "effective\n" "temperature of all interior bodies."); - sprintf(output[OUT_HZLIMMOIST].cName, "HZLimMoistGreenhouse"); - sprintf(output[OUT_HZLIMMOIST].cDescr, "Moist Greenhouse HZ Limit"); - sprintf(output[OUT_HZLIMMOIST].cNeg, "AU"); + fvFormattedString(&output[OUT_HZLIMMOIST].cName, "HZLimMoistGreenhouse"); + fvFormattedString(&output[OUT_HZLIMMOIST].cDescr, "Moist Greenhouse HZ Limit"); + fvFormattedString(&output[OUT_HZLIMMOIST].cNeg, "AU"); output[OUT_HZLIMMOIST].bNeg = 1; output[OUT_HZLIMMOIST].dNeg = 1. / AUM; output[OUT_HZLIMMOIST].iNum = 1; output[OUT_HZLIMMOIST].iModuleBit = 1; fnWrite[OUT_HZLIMMOIST] = &WriteHZLimitMoistGreenhouse; - sprintf( - output[OUT_HZLIMMOIST].cLongDescr, + fvFormattedString( + &output[OUT_HZLIMMOIST].cLongDescr, "Moist greenhouse habitable zone limit from Kopparapu et al. (2013).\n" "The value is determined by the total luminosity and average " "effective\n" "temperature of all interior bodies."); - sprintf(output[OUT_HZLIMMAX].cName, "HZLimMaxGreenhouse"); - sprintf(output[OUT_HZLIMMAX].cDescr, "Maximum Greenhouse HZ Limit"); - sprintf(output[OUT_HZLIMMAX].cNeg, "AU"); + fvFormattedString(&output[OUT_HZLIMMAX].cName, "HZLimMaxGreenhouse"); + fvFormattedString(&output[OUT_HZLIMMAX].cDescr, "Maximum Greenhouse HZ Limit"); + fvFormattedString(&output[OUT_HZLIMMAX].cNeg, "AU"); output[OUT_HZLIMMAX].bNeg = 1; output[OUT_HZLIMMAX].dNeg = 1. / AUM; output[OUT_HZLIMMAX].iNum = 1; output[OUT_HZLIMMAX].iModuleBit = 1; fnWrite[OUT_HZLIMMAX] = &WriteHZLimitMaxGreenhouse; - sprintf(output[OUT_HZLIMMAX].cLongDescr, + fvFormattedString(&output[OUT_HZLIMMAX].cLongDescr, "Maximum greenhouse habitable zone limit from Kopparapu et al. " "(2013).\n" "The value is determined by the total luminosity and average " "effective\n" "temperature of all interior bodies."); - sprintf(output[OUT_HZLIMEARLYMARS].cName, "HZLimEarlyMars"); - sprintf(output[OUT_HZLIMEARLYMARS].cDescr, "Early Mars HZ Limit"); - sprintf(output[OUT_HZLIMEARLYMARS].cNeg, "AU"); + fvFormattedString(&output[OUT_HZLIMEARLYMARS].cName, "HZLimEarlyMars"); + fvFormattedString(&output[OUT_HZLIMEARLYMARS].cDescr, "Early Mars HZ Limit"); + fvFormattedString(&output[OUT_HZLIMEARLYMARS].cNeg, "AU"); output[OUT_HZLIMEARLYMARS].bNeg = 1; output[OUT_HZLIMEARLYMARS].dNeg = 1. / AUM; output[OUT_HZLIMEARLYMARS].iNum = 1; output[OUT_HZLIMEARLYMARS].iModuleBit = 1; fnWrite[OUT_HZLIMEARLYMARS] = &WriteHZLimitEarlyMars; - sprintf(output[OUT_HZLIMEARLYMARS].cLongDescr, + fvFormattedString(&output[OUT_HZLIMEARLYMARS].cLongDescr, "Early Mars habitable zone limit from Kopparapu et al. (2013). The " "value\n" "is determined by the total luminosity and average effective " @@ -1405,9 +1405,9 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { */ /* Imk2Man */ - sprintf(output[OUT_IMK2MAN].cName, "Imk2Man"); - sprintf(output[OUT_IMK2MAN].cDescr, "Imaginary Love Number k2 Mantle"); - sprintf(output[OUT_IMK2MAN].cNeg, "nd"); + fvFormattedString(&output[OUT_IMK2MAN].cName, "Imk2Man"); + fvFormattedString(&output[OUT_IMK2MAN].cDescr, "Imaginary Love Number k2 Mantle"); + fvFormattedString(&output[OUT_IMK2MAN].cNeg, "nd"); output[OUT_IMK2MAN].bNeg = 1; output[OUT_IMK2MAN].dNeg = 1; output[OUT_IMK2MAN].iNum = 1; @@ -1415,25 +1415,25 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_IMK2MAN] = &WriteImK2Man; - sprintf(output[OUT_INC].cName, "Inc"); - sprintf(output[OUT_INC].cDescr, "Body's Inclination"); - sprintf(output[OUT_INC].cNeg, "Deg"); + fvFormattedString(&output[OUT_INC].cName, "Inc"); + fvFormattedString(&output[OUT_INC].cDescr, "Body's Inclination"); + fvFormattedString(&output[OUT_INC].cNeg, "Deg"); output[OUT_INC].bNeg = 1; output[OUT_INC].dNeg = 1. / DEGRAD; output[OUT_INC].iNum = 1; output[OUT_INC].iModuleBit = DISTORB + GALHABIT + SPINBODY + BINARY; fnWrite[OUT_INC] = &WriteBodyInc; - sprintf(output[OUT_INSTELLATION].cName, "Instellation"); - sprintf(output[OUT_INSTELLATION].cDescr, + fvFormattedString(&output[OUT_INSTELLATION].cName, "Instellation"); + fvFormattedString(&output[OUT_INSTELLATION].cDescr, "Orbit-averaged INcident STELLar radiATION"); - sprintf(output[OUT_INSTELLATION].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_INSTELLATION].cNeg, "W/m^2"); output[OUT_INSTELLATION].bNeg = 1; output[OUT_INSTELLATION].dNeg = 1; output[OUT_INSTELLATION].iNum = 1; output[OUT_INSTELLATION].iModuleBit = 1; fnWrite[OUT_INSTELLATION] = &WriteInstellation; - sprintf(output[OUT_INSTELLATION].cLongDescr, + fvFormattedString(&output[OUT_INSTELLATION].cLongDescr, "Total instellation on a planet from all luminous, interior bodies."); /* @@ -1441,17 +1441,17 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { */ /* K2Man */ - sprintf(output[OUT_K2MAN].cName, "K2Man"); - sprintf(output[OUT_K2MAN].cDescr, "Real Love Number k2 Mantle"); - sprintf(output[OUT_K2MAN].cNeg, "nd"); + fvFormattedString(&output[OUT_K2MAN].cName, "K2Man"); + fvFormattedString(&output[OUT_K2MAN].cDescr, "Real Love Number k2 Mantle"); + fvFormattedString(&output[OUT_K2MAN].cNeg, "nd"); output[OUT_K2MAN].bNeg = 1; output[OUT_K2MAN].dNeg = 1; output[OUT_K2MAN].iNum = 1; output[OUT_K2MAN].iModuleBit = THERMINT + EQTIDE; fnWrite[OUT_K2MAN] = &WriteK2Man; - sprintf(output[OUT_KECC].cName, "KEcc"); - sprintf(output[OUT_KECC].cDescr, "Poincare's k (=e*cos(varpi)"); + fvFormattedString(&output[OUT_KECC].cName, "KEcc"); + fvFormattedString(&output[OUT_KECC].cDescr, "Poincare's k (=e*cos(varpi)"); output[OUT_KECC].bNeg = 0; output[OUT_KECC].iNum = 1; output[OUT_KECC].iModuleBit = EQTIDE + DISTORB; @@ -1461,36 +1461,36 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * L */ - sprintf(output[OUT_LONGA].cName, "LongA"); - sprintf(output[OUT_LONGA].cDescr, "Body's Longitude of ascending node"); - sprintf(output[OUT_LONGA].cNeg, "Deg"); + fvFormattedString(&output[OUT_LONGA].cName, "LongA"); + fvFormattedString(&output[OUT_LONGA].cDescr, "Body's Longitude of ascending node"); + fvFormattedString(&output[OUT_LONGA].cNeg, "Deg"); output[OUT_LONGA].bNeg = 1; output[OUT_LONGA].dNeg = 1. / DEGRAD; output[OUT_LONGA].iNum = 1; output[OUT_LONGA].iModuleBit = DISTORB + GALHABIT + SPINBODY + BINARY; fnWrite[OUT_LONGA] = &WriteBodyLongA; - sprintf(output[OUT_LONGP].cName, "LongP"); - sprintf(output[OUT_LONGP].cDescr, "Body's Longitude of pericenter"); - sprintf(output[OUT_LONGP].cNeg, "Deg"); + fvFormattedString(&output[OUT_LONGP].cName, "LongP"); + fvFormattedString(&output[OUT_LONGP].cDescr, "Body's Longitude of pericenter"); + fvFormattedString(&output[OUT_LONGP].cNeg, "Deg"); output[OUT_LONGP].bNeg = 1; output[OUT_LONGP].dNeg = 1. / DEGRAD; output[OUT_LONGP].iNum = 1; output[OUT_LONGP].iModuleBit = EQTIDE + DISTORB + BINARY + SPINBODY; fnWrite[OUT_LONGP] = &WriteLongP; - sprintf(output[OUT_ARGP].cName, "ArgP"); - sprintf(output[OUT_ARGP].cDescr, "Body's argument of pericenter"); - sprintf(output[OUT_ARGP].cNeg, "Deg"); + fvFormattedString(&output[OUT_ARGP].cName, "ArgP"); + fvFormattedString(&output[OUT_ARGP].cDescr, "Body's argument of pericenter"); + fvFormattedString(&output[OUT_ARGP].cNeg, "Deg"); output[OUT_ARGP].bNeg = 1; output[OUT_ARGP].dNeg = 1. / DEGRAD; output[OUT_ARGP].iNum = 1; output[OUT_ARGP].iModuleBit = DISTORB + GALHABIT + SPINBODY + BINARY; fnWrite[OUT_ARGP] = &WriteBodyArgP; - sprintf(output[OUT_LXUVTOT].cName, "LXUVTot"); - sprintf(output[OUT_LXUVTOT].cDescr, "Total XUV Luminosity"); - sprintf(output[OUT_LXUVTOT].cNeg, "LSUN"); + fvFormattedString(&output[OUT_LXUVTOT].cName, "LXUVTot"); + fvFormattedString(&output[OUT_LXUVTOT].cDescr, "Total XUV Luminosity"); + fvFormattedString(&output[OUT_LXUVTOT].cNeg, "LSUN"); output[OUT_LXUVTOT].bNeg = 1; output[OUT_LXUVTOT].dNeg = 1. / LSUN; output[OUT_LXUVTOT].iNum = 1; @@ -1503,9 +1503,9 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * M */ - sprintf(output[OUT_MASS].cName, "Mass"); - sprintf(output[OUT_MASS].cDescr, "Mass"); - sprintf(output[OUT_MASS].cNeg, "Mearth"); + fvFormattedString(&output[OUT_MASS].cName, "Mass"); + fvFormattedString(&output[OUT_MASS].cDescr, "Mass"); + fvFormattedString(&output[OUT_MASS].cNeg, "Mearth"); output[OUT_MASS].bNeg = 1; output[OUT_MASS].dNeg = 1. / MEARTH; output[OUT_MASS].iNum = 1; @@ -1517,94 +1517,94 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * O */ - sprintf(output[OUT_OBL].cName, "Obliquity"); - sprintf(output[OUT_OBL].cDescr, "Obliquity"); - sprintf(output[OUT_OBL].cNeg, "deg"); + fvFormattedString(&output[OUT_OBL].cName, "Obliquity"); + fvFormattedString(&output[OUT_OBL].cDescr, "Obliquity"); + fvFormattedString(&output[OUT_OBL].cNeg, "deg"); output[OUT_OBL].bNeg = 1; output[OUT_OBL].dNeg = DEGRAD; output[OUT_OBL].iNum = 1; output[OUT_OBL].iModuleBit = EQTIDE + DISTROT + POISE; fnWrite[OUT_OBL] = &WriteObliquity; - sprintf(output[OUT_PRECA].cName, "PrecA"); - sprintf(output[OUT_PRECA].cDescr, "Body's precession angle"); - sprintf(output[OUT_PRECA].cNeg, "Deg"); + fvFormattedString(&output[OUT_PRECA].cName, "PrecA"); + fvFormattedString(&output[OUT_PRECA].cDescr, "Body's precession angle"); + fvFormattedString(&output[OUT_PRECA].cNeg, "Deg"); output[OUT_PRECA].bNeg = 1; output[OUT_PRECA].dNeg = 1. / DEGRAD; output[OUT_PRECA].iNum = 1; output[OUT_PRECA].iModuleBit = EQTIDE + DISTROT + POISE; fnWrite[OUT_PRECA] = &WriteBodyPrecA; - sprintf(output[OUT_PRECA].cLongDescr, + fvFormattedString(&output[OUT_PRECA].cLongDescr, "The precession angle is orthogonal to the obliquity and is measured " "from\n" "the vernal equinox. This angle is a \"dog-leg\" angle as shown in " "Fig. 30\n" "of Barnes et al. (2020)."); - sprintf(output[OUT_ORBANGMOM].cName, "OrbAngMom"); - sprintf(output[OUT_ORBANGMOM].cDescr, "Orbital Angular Momentum"); - sprintf(output[OUT_ORBANGMOM].cNeg, "kg*m^2/s"); + fvFormattedString(&output[OUT_ORBANGMOM].cName, "OrbAngMom"); + fvFormattedString(&output[OUT_ORBANGMOM].cDescr, "Orbital Angular Momentum"); + fvFormattedString(&output[OUT_ORBANGMOM].cNeg, "kg*m^2/s"); output[OUT_ORBANGMOM].bNeg = 1; output[OUT_ORBANGMOM].iNum = 1; output[OUT_ORBANGMOM].dNeg = 1.0; output[OUT_ORBANGMOM].iModuleBit = EQTIDE + DISTORB + BINARY + SPINBODY; fnWrite[OUT_ORBANGMOM] = &WriteOrbAngMom; - sprintf(output[OUT_ORBECC].cName, "Eccentricity"); - sprintf(output[OUT_ORBECC].cDescr, "Orbital Eccentricity"); + fvFormattedString(&output[OUT_ORBECC].cName, "Eccentricity"); + fvFormattedString(&output[OUT_ORBECC].cDescr, "Orbital Eccentricity"); output[OUT_ORBECC].iNum = 1; output[OUT_ORBECC].bNeg = 0; output[OUT_ORBECC].iModuleBit = EQTIDE + DISTORB + BINARY + GALHABIT + POISE + SPINBODY; fnWrite[OUT_ORBECC] = &WriteOrbEcc; - sprintf(output[OUT_MEANA].cName, "MeanAnomaly"); - sprintf(output[OUT_MEANA].cDescr, "Orbital Mean Anomaly"); - sprintf(output[OUT_MEANA].cNeg, "Deg"); + fvFormattedString(&output[OUT_MEANA].cName, "MeanAnomaly"); + fvFormattedString(&output[OUT_MEANA].cDescr, "Orbital Mean Anomaly"); + fvFormattedString(&output[OUT_MEANA].cNeg, "Deg"); output[OUT_MEANA].iNum = 1; output[OUT_MEANA].bNeg = 1; output[OUT_MEANA].dNeg = 1 / DEGRAD; output[OUT_MEANA].iModuleBit = SPINBODY; fnWrite[OUT_MEANA] = &WriteMeanAnomaly; - sprintf(output[OUT_MEANL].cName, "MeanLongitude"); - sprintf(output[OUT_MEANL].cDescr, "Orbital Mean Longitude"); - sprintf(output[OUT_MEANL].cNeg, "Deg"); + fvFormattedString(&output[OUT_MEANL].cName, "MeanLongitude"); + fvFormattedString(&output[OUT_MEANL].cDescr, "Orbital Mean Longitude"); + fvFormattedString(&output[OUT_MEANL].cNeg, "Deg"); output[OUT_MEANL].iNum = 1; output[OUT_MEANL].bNeg = 1; output[OUT_MEANL].dNeg = 1 / DEGRAD; output[OUT_MEANL].iModuleBit = SPINBODY + DISTORB; fnWrite[OUT_MEANL] = &WriteMeanLongitude; - sprintf(output[OUT_ORBEN].cName, "OrbEnergy"); - sprintf(output[OUT_ORBEN].cDescr, "Body's Total Orbital Energy"); - sprintf(output[OUT_ORBEN].cNeg, "ergs"); + fvFormattedString(&output[OUT_ORBEN].cName, "OrbEnergy"); + fvFormattedString(&output[OUT_ORBEN].cDescr, "Body's Total Orbital Energy"); + fvFormattedString(&output[OUT_ORBEN].cNeg, "ergs"); output[OUT_ORBEN].bNeg = 1; output[OUT_ORBEN].iNum = 1; output[OUT_ORBEN].iModuleBit = EQTIDE + DISTORB + BINARY; fnWrite[OUT_ORBEN] = &WriteOrbEnergy; - sprintf(output[OUT_LOSTENG].cName, "LostEnergy"); - sprintf(output[OUT_LOSTENG].cDescr, "Body's Total Lost Energy"); - sprintf(output[OUT_LOSTENG].cNeg, "ergs"); + fvFormattedString(&output[OUT_LOSTENG].cName, "LostEnergy"); + fvFormattedString(&output[OUT_LOSTENG].cDescr, "Body's Total Lost Energy"); + fvFormattedString(&output[OUT_LOSTENG].cNeg, "ergs"); output[OUT_LOSTENG].bNeg = 1; output[OUT_LOSTENG].iNum = 1; output[OUT_LOSTENG].iModuleBit = EQTIDE + STELLAR; fnWrite[OUT_LOSTENG] = &WriteLostEng; - sprintf(output[OUT_LOSTANGMOM].cName, "LostAngMom"); - sprintf(output[OUT_LOSTANGMOM].cDescr, + fvFormattedString(&output[OUT_LOSTANGMOM].cName, "LostAngMom"); + fvFormattedString(&output[OUT_LOSTANGMOM].cDescr, "Lost Angular Momentum due to Magnetic Braking"); - sprintf(output[OUT_LOSTANGMOM].cNeg, "kg*m^2/s"); + fvFormattedString(&output[OUT_LOSTANGMOM].cNeg, "kg*m^2/s"); output[OUT_LOSTANGMOM].bNeg = 1; output[OUT_LOSTANGMOM].iNum = 1; output[OUT_LOSTANGMOM].dNeg = 1.0; output[OUT_LOSTANGMOM].iModuleBit = STELLAR; fnWrite[OUT_LOSTANGMOM] = &WriteLostAngMom; - sprintf(output[OUT_ORBMEANMOTION].cName, "MeanMotion"); - sprintf(output[OUT_ORBMEANMOTION].cDescr, "Orbital Mean Motion"); - sprintf(output[OUT_ORBMEANMOTION].cNeg, "/day"); + fvFormattedString(&output[OUT_ORBMEANMOTION].cName, "MeanMotion"); + fvFormattedString(&output[OUT_ORBMEANMOTION].cDescr, "Orbital Mean Motion"); + fvFormattedString(&output[OUT_ORBMEANMOTION].cNeg, "/day"); output[OUT_ORBMEANMOTION].bNeg = 1; output[OUT_ORBMEANMOTION].dNeg = DAYSEC; output[OUT_ORBMEANMOTION].iNum = 1; @@ -1612,9 +1612,9 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { EQTIDE + DISTORB + BINARY + SPINBODY + ATMESC + POISE; fnWrite[OUT_ORBMEANMOTION] = &WriteOrbMeanMotion; - sprintf(output[OUT_ORBPER].cName, "OrbPeriod"); - sprintf(output[OUT_ORBPER].cDescr, "Orbital Period"); - sprintf(output[OUT_ORBPER].cNeg, "days"); + fvFormattedString(&output[OUT_ORBPER].cName, "OrbPeriod"); + fvFormattedString(&output[OUT_ORBPER].cDescr, "Orbital Period"); + fvFormattedString(&output[OUT_ORBPER].cNeg, "days"); output[OUT_ORBPER].bNeg = 1; output[OUT_ORBPER].dNeg = 1. / DAYSEC; output[OUT_ORBPER].iNum = 1; @@ -1622,9 +1622,9 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { EQTIDE + DISTORB + BINARY + POISE + SPINBODY + ATMESC; fnWrite[OUT_ORBPER] = &WriteOrbPeriod; - sprintf(output[OUT_ORBSEMI].cName, "SemiMajorAxis"); - sprintf(output[OUT_ORBSEMI].cDescr, "Semi-major Axis"); - sprintf(output[OUT_ORBSEMI].cNeg, "AU"); + fvFormattedString(&output[OUT_ORBSEMI].cName, "SemiMajorAxis"); + fvFormattedString(&output[OUT_ORBSEMI].cDescr, "Semi-major Axis"); + fvFormattedString(&output[OUT_ORBSEMI].cNeg, "AU"); output[OUT_ORBSEMI].bNeg = 1; output[OUT_ORBSEMI].dNeg = 1. / AUM; output[OUT_ORBSEMI].iNum = 1; @@ -1636,60 +1636,60 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * R */ - sprintf(output[OUT_RADIUS].cName, "Radius"); - sprintf(output[OUT_RADIUS].cDescr, "Radius"); + fvFormattedString(&output[OUT_RADIUS].cName, "Radius"); + fvFormattedString(&output[OUT_RADIUS].cDescr, "Radius"); output[OUT_RADIUS].bNeg = 1; - sprintf(output[OUT_RADIUS].cNeg, "Rearth"); + fvFormattedString(&output[OUT_RADIUS].cNeg, "Rearth"); output[OUT_RADIUS].dNeg = 1. / REARTH; output[OUT_RADIUS].iNum = 1; output[OUT_RADIUS].iModuleBit = 1; fnWrite[OUT_RADIUS] = &WriteRadius; - sprintf(output[OUT_RADGYRA].cName, "RadGyra"); - sprintf(output[OUT_RADGYRA].cDescr, + fvFormattedString(&output[OUT_RADGYRA].cName, "RadGyra"); + fvFormattedString(&output[OUT_RADGYRA].cDescr, "Radius of Gyration/Moment of Inertia Constant"); output[OUT_RADGYRA].bNeg = 0; output[OUT_RADGYRA].iNum = 1; output[OUT_RADGYRA].iModuleBit = 1; fnWrite[OUT_RADGYRA] = &WriteRadGyra; - sprintf(output[OUT_ROTANGMOM].cName, "RotAngMom"); - sprintf(output[OUT_ROTANGMOM].cDescr, "Rotational Angular Momentum"); - sprintf(output[OUT_ROTANGMOM].cNeg, "kg*m^2/s"); + fvFormattedString(&output[OUT_ROTANGMOM].cName, "RotAngMom"); + fvFormattedString(&output[OUT_ROTANGMOM].cDescr, "Rotational Angular Momentum"); + fvFormattedString(&output[OUT_ROTANGMOM].cNeg, "kg*m^2/s"); output[OUT_ROTANGMOM].bNeg = 1; output[OUT_ROTANGMOM].iNum = 1; output[OUT_ROTANGMOM].dNeg = 1.0; output[OUT_ROTANGMOM].iModuleBit = EQTIDE + DISTROT + STELLAR + BINARY; fnWrite[OUT_ROTANGMOM] = &WriteRotAngMom; - sprintf(output[OUT_ROTKINENERGY].cName, "RotKinEnergy"); - sprintf(output[OUT_ROTKINENERGY].cDescr, "Body's Rotational Energy"); - sprintf(output[OUT_ROTKINENERGY].cNeg, "ergs"); + fvFormattedString(&output[OUT_ROTKINENERGY].cName, "RotKinEnergy"); + fvFormattedString(&output[OUT_ROTKINENERGY].cDescr, "Body's Rotational Energy"); + fvFormattedString(&output[OUT_ROTKINENERGY].cNeg, "ergs"); output[OUT_ROTKINENERGY].iNum = 1; output[OUT_ROTKINENERGY].iModuleBit = EQTIDE + DISTORB; fnWrite[OUT_ROTKINENERGY] = &WriteRotKinEnergy; - sprintf(output[OUT_ROTPER].cName, "RotPer"); - sprintf(output[OUT_ROTPER].cDescr, "Rotational Period"); - sprintf(output[OUT_ROTPER].cNeg, "days"); + fvFormattedString(&output[OUT_ROTPER].cName, "RotPer"); + fvFormattedString(&output[OUT_ROTPER].cDescr, "Rotational Period"); + fvFormattedString(&output[OUT_ROTPER].cNeg, "days"); output[OUT_ROTPER].bNeg = 1; output[OUT_ROTPER].dNeg = 1. / DAYSEC; output[OUT_ROTPER].iNum = 1; output[OUT_ROTPER].iModuleBit = EQTIDE + DISTROT + STELLAR; fnWrite[OUT_ROTPER] = &WriteRotPer; - sprintf(output[OUT_ROTRATE].cName, "RotRate"); - sprintf(output[OUT_ROTRATE].cDescr, "Rotational Frequency"); - sprintf(output[OUT_ROTRATE].cNeg, "/day"); + fvFormattedString(&output[OUT_ROTRATE].cName, "RotRate"); + fvFormattedString(&output[OUT_ROTRATE].cDescr, "Rotational Frequency"); + fvFormattedString(&output[OUT_ROTRATE].cNeg, "/day"); output[OUT_ROTRATE].bNeg = 1; output[OUT_ROTRATE].dNeg = DAYSEC; output[OUT_ROTRATE].iNum = 1; output[OUT_ROTRATE].iModuleBit = EQTIDE + DISTROT + STELLAR; fnWrite[OUT_ROTRATE] = &WriteRotRate; - sprintf(output[OUT_ROTVEL].cName, "RotVel"); - sprintf(output[OUT_ROTVEL].cDescr, "Rotational Velocity"); - sprintf(output[OUT_ROTVEL].cNeg, "km/s"); + fvFormattedString(&output[OUT_ROTVEL].cName, "RotVel"); + fvFormattedString(&output[OUT_ROTVEL].cDescr, "Rotational Velocity"); + fvFormattedString(&output[OUT_ROTVEL].cNeg, "km/s"); output[OUT_ROTVEL].bNeg = 1; output[OUT_ROTVEL].dNeg = 1e-5; output[OUT_ROTVEL].iNum = 1; @@ -1702,18 +1702,18 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { * */ - sprintf(output[OUT_SURFENFLUX].cName, "SurfEnFluxTotal"); - sprintf(output[OUT_SURFENFLUX].cDescr, "Total Surface Energy Flux"); - sprintf(output[OUT_SURFENFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_SURFENFLUX].cName, "SurfEnFluxTotal"); + fvFormattedString(&output[OUT_SURFENFLUX].cDescr, "Total Surface Energy Flux"); + fvFormattedString(&output[OUT_SURFENFLUX].cNeg, "W/m^2"); output[OUT_SURFENFLUX].bNeg = 1; output[OUT_SURFENFLUX].dNeg = 1; output[OUT_SURFENFLUX].iNum = 1; output[OUT_SURFENFLUX].iModuleBit = EQTIDE + RADHEAT + THERMINT; fnWrite[OUT_SURFENFLUX] = &WriteSurfaceEnergyFlux; - sprintf(output[OUT_TIME].cName, "Time"); - sprintf(output[OUT_TIME].cDescr, "Simulation Time"); - sprintf(output[OUT_TIME].cNeg, "Gyr"); + fvFormattedString(&output[OUT_TIME].cName, "Time"); + fvFormattedString(&output[OUT_TIME].cDescr, "Simulation Time"); + fvFormattedString(&output[OUT_TIME].cNeg, "Gyr"); output[OUT_TIME].bNeg = 1; output[OUT_TIME].dNeg = 1. / (YEARSEC * 1e9); output[OUT_TIME].iNum = 1; @@ -1721,9 +1721,9 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TIME].iModuleBit = 1; fnWrite[OUT_TIME] = &WriteTime; - sprintf(output[OUT_TOTANGMOM].cName, "TotAngMom"); - sprintf(output[OUT_TOTANGMOM].cDescr, "Total Angular Momentum"); - sprintf(output[OUT_TOTANGMOM].cNeg, "kg*m^2/s"); + fvFormattedString(&output[OUT_TOTANGMOM].cName, "TotAngMom"); + fvFormattedString(&output[OUT_TOTANGMOM].cDescr, "Total Angular Momentum"); + fvFormattedString(&output[OUT_TOTANGMOM].cNeg, "kg*m^2/s"); output[OUT_TOTANGMOM].bNeg = 1; output[OUT_TOTANGMOM].iNum = 1; output[OUT_TOTANGMOM].dNeg = 1.0; @@ -1731,104 +1731,104 @@ void InitializeOutputGeneral(OUTPUT *output, fnWriteOutput fnWrite[]) { EQTIDE + DISTORB + DISTROT + STELLAR + BINARY + SPINBODY; fnWrite[OUT_TOTANGMOM] = &WriteTotAngMom; - sprintf(output[OUT_TOTENERGY].cName, "TotEnergy"); - sprintf(output[OUT_TOTENERGY].cDescr, "Total System Energy"); - sprintf(output[OUT_TOTENERGY].cNeg, "ergs"); + fvFormattedString(&output[OUT_TOTENERGY].cName, "TotEnergy"); + fvFormattedString(&output[OUT_TOTENERGY].cDescr, "Total System Energy"); + fvFormattedString(&output[OUT_TOTENERGY].cNeg, "ergs"); output[OUT_TOTENERGY].bNeg = 1; output[OUT_TOTENERGY].dNeg = 1; output[OUT_TOTENERGY].iNum = 1; output[OUT_TOTENERGY].iModuleBit = EQTIDE + DISTORB + STELLAR + SPINBODY; fnWrite[OUT_TOTENERGY] = &WriteTotEnergy; - sprintf(output[OUT_POTENERGY].cName, "PotEnergy"); - sprintf(output[OUT_POTENERGY].cDescr, "Body's non-orbital Potential Energy"); - sprintf(output[OUT_POTENERGY].cNeg, "ergs"); + fvFormattedString(&output[OUT_POTENERGY].cName, "PotEnergy"); + fvFormattedString(&output[OUT_POTENERGY].cDescr, "Body's non-orbital Potential Energy"); + fvFormattedString(&output[OUT_POTENERGY].cNeg, "ergs"); output[OUT_POTENERGY].bNeg = 1; output[OUT_POTENERGY].dNeg = 1; output[OUT_POTENERGY].iNum = 1; output[OUT_POTENERGY].iModuleBit = 1; fnWrite[OUT_POTENERGY] = &WritePotEnergy; - sprintf(output[OUT_KINENERGY].cName, "KinEnergy"); - sprintf(output[OUT_KINENERGY].cDescr, "Body's non-orbital Kinetic Energy"); - sprintf(output[OUT_KINENERGY].cNeg, "ergs"); + fvFormattedString(&output[OUT_KINENERGY].cName, "KinEnergy"); + fvFormattedString(&output[OUT_KINENERGY].cDescr, "Body's non-orbital Kinetic Energy"); + fvFormattedString(&output[OUT_KINENERGY].cNeg, "ergs"); output[OUT_KINENERGY].bNeg = 1; output[OUT_KINENERGY].dNeg = 1; output[OUT_KINENERGY].iNum = 1; output[OUT_KINENERGY].iModuleBit = 1; fnWrite[OUT_KINENERGY] = &WriteKinEnergy; - sprintf(output[OUT_ORBKINENERGY].cName, "OrbKinEnergy"); - sprintf(output[OUT_ORBKINENERGY].cDescr, "Body's Orbital Kinetic Energy"); - sprintf(output[OUT_ORBKINENERGY].cNeg, "ergs"); + fvFormattedString(&output[OUT_ORBKINENERGY].cName, "OrbKinEnergy"); + fvFormattedString(&output[OUT_ORBKINENERGY].cDescr, "Body's Orbital Kinetic Energy"); + fvFormattedString(&output[OUT_ORBKINENERGY].cNeg, "ergs"); output[OUT_ORBKINENERGY].bNeg = 1; output[OUT_ORBKINENERGY].dNeg = 1; output[OUT_ORBKINENERGY].iNum = 1; output[OUT_ORBKINENERGY].iModuleBit = EQTIDE + DISTORB + BINARY + SPINBODY; fnWrite[OUT_ORBKINENERGY] = &WriteOrbKinEnergy; - sprintf(output[OUT_ORBKINENERGY].cName, "TotOrbEnergy"); - sprintf(output[OUT_ORBKINENERGY].cDescr, "System's Total Orbital Energy"); - sprintf(output[OUT_ORBKINENERGY].cNeg, "ergs"); + fvFormattedString(&output[OUT_ORBKINENERGY].cName, "TotOrbEnergy"); + fvFormattedString(&output[OUT_ORBKINENERGY].cDescr, "System's Total Orbital Energy"); + fvFormattedString(&output[OUT_ORBKINENERGY].cNeg, "ergs"); output[OUT_ORBKINENERGY].bNeg = 1; output[OUT_ORBKINENERGY].dNeg = 1; output[OUT_ORBKINENERGY].iNum = 1; output[OUT_ORBKINENERGY].iModuleBit = EQTIDE + DISTORB + BINARY + SPINBODY; fnWrite[OUT_ORBKINENERGY] = &WriteTotOrbEnergy; - sprintf(output[OUT_ORBPOTENERGY].cName, "OrbPotEnergy"); - sprintf(output[OUT_ORBPOTENERGY].cDescr, "Body's Orbital Potential Energy"); - sprintf(output[OUT_ORBPOTENERGY].cNeg, "ergs"); + fvFormattedString(&output[OUT_ORBPOTENERGY].cName, "OrbPotEnergy"); + fvFormattedString(&output[OUT_ORBPOTENERGY].cDescr, "Body's Orbital Potential Energy"); + fvFormattedString(&output[OUT_ORBPOTENERGY].cNeg, "ergs"); output[OUT_ORBPOTENERGY].bNeg = 1; output[OUT_ORBPOTENERGY].dNeg = 1; output[OUT_ORBPOTENERGY].iNum = 1; output[OUT_ORBPOTENERGY].iModuleBit = EQTIDE + DISTORB + BINARY + SPINBODY; fnWrite[OUT_ORBPOTENERGY] = &WriteOrbPotEnergy; - sprintf(output[OUT_IMK2].cName, "ImK2"); - sprintf(output[OUT_IMK2].cDescr, "Im(k_2)"); + fvFormattedString(&output[OUT_IMK2].cName, "ImK2"); + fvFormattedString(&output[OUT_IMK2].cDescr, "Im(k_2)"); output[OUT_IMK2].bNeg = 0; output[OUT_IMK2].iNum = 1; output[OUT_IMK2].iModuleBit = EQTIDE + THERMINT; fnWrite[OUT_IMK2] = &WriteImK2; - sprintf(output[OUT_K2].cName, "K2"); - sprintf(output[OUT_K2].cDescr, "k_2"); + fvFormattedString(&output[OUT_K2].cName, "K2"); + fvFormattedString(&output[OUT_K2].cDescr, "k_2"); output[OUT_K2].bNeg = 0; output[OUT_K2].iNum = 1; output[OUT_K2].iModuleBit = EQTIDE + THERMINT; fnWrite[OUT_K2] = &WriteK2; - sprintf(output[OUT_TIDALQ].cName, "TidalQ"); - sprintf(output[OUT_TIDALQ].cDescr, "Tidal Q"); + fvFormattedString(&output[OUT_TIDALQ].cName, "TidalQ"); + fvFormattedString(&output[OUT_TIDALQ].cDescr, "Tidal Q"); output[OUT_TIDALQ].bNeg = 0; output[OUT_TIDALQ].iNum = 1; output[OUT_TIDALQ].iModuleBit = EQTIDE + THERMINT; fnWrite[OUT_TIDALQ] = WriteTidalQ; - sprintf(output[OUT_TIDALQMAN].cName, "TidalQMantle"); - sprintf(output[OUT_TIDALQMAN].cDescr, "Mantle's Tidal Q"); + fvFormattedString(&output[OUT_TIDALQMAN].cName, "TidalQMantle"); + fvFormattedString(&output[OUT_TIDALQMAN].cDescr, "Mantle's Tidal Q"); output[OUT_TIDALQMAN].bNeg = 0; output[OUT_TIDALQMAN].iNum = 1; output[OUT_TIDALQMAN].iModuleBit = EQTIDE + THERMINT; fnWrite[OUT_TIDALQMAN] = WriteTidalQMantle; - sprintf(output[OUT_XOBL].cName, "Xobl"); - sprintf(output[OUT_XOBL].cDescr, + fvFormattedString(&output[OUT_XOBL].cName, "Xobl"); + fvFormattedString(&output[OUT_XOBL].cDescr, "Body's sin(obliquity)*cos(precession angle)"); output[OUT_XOBL].iNum = 1; output[OUT_XOBL].iModuleBit = EQTIDE + DISTROT; fnWrite[OUT_XOBL] = &WriteXobl; - sprintf(output[OUT_YOBL].cName, "Yobl"); - sprintf(output[OUT_YOBL].cDescr, + fvFormattedString(&output[OUT_YOBL].cName, "Yobl"); + fvFormattedString(&output[OUT_YOBL].cDescr, "Body's sin(obliquity)*sin(precession angle)"); output[OUT_YOBL].iNum = 1; output[OUT_YOBL].iModuleBit = EQTIDE + DISTROT; fnWrite[OUT_YOBL] = &WriteYobl; - sprintf(output[OUT_ZOBL].cName, "Zobl"); - sprintf(output[OUT_ZOBL].cDescr, "Body's cos(obliquity)"); + fvFormattedString(&output[OUT_ZOBL].cName, "Zobl"); + fvFormattedString(&output[OUT_ZOBL].cDescr, "Body's cos(obliquity)"); output[OUT_ZOBL].iNum = 1; output[OUT_ZOBL].iModuleBit = EQTIDE + DISTROT; fnWrite[OUT_ZOBL] = &WriteZobl; @@ -2009,7 +2009,7 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, int iCol, iOut, iSubOut, iExtra = 0; char cCol[MODULEOUTEND][OUTLEN+2]; // +2 for brackets double *dTmp; - char cUnit[OUTLEN], cTmp[OUTLEN+2]; + char cUnit[OUTLEN], *cTmp; for (iCol = 0; iCol < files->Outfile[iBody].iNumCols; iCol++) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { @@ -2022,7 +2022,7 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { strcpy(cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caCol[iCol]); - sprintf(cTmp, "[%s]", cUnit); + fvFormattedString(&cTmp, "[%s]", cUnit); strcat(cCol[iCol + iSubOut + iExtra], cTmp); } iExtra += (output[iOut].iNum - 1); @@ -2044,7 +2044,7 @@ void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, int iCol, iOut, iSubOut, iExtra = 0; char cCol[MODULEOUTEND][OUTLEN+2]; // +2 for brackets double *dTmp; - char cUnit[OUTLEN], cTmp[OUTLEN+2]; + char cUnit[OUTLEN], *cTmp; for (iCol = 0; iCol < files->Outfile[iBody].iNumGrid; iCol++) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { @@ -2057,7 +2057,7 @@ void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { strcpy(cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caGrid[iCol]); - sprintf(cTmp, "[%s]", cUnit); + fvFormattedString(&cTmp, "[%s]", cUnit); strcat(cCol[iCol + iSubOut + iExtra], cTmp); } iExtra += (output[iOut].iNum - 1); @@ -2165,7 +2165,7 @@ void LogBody(BODY *body, CONTROL *control, FILES *files, MODULE *module, void WriteLog(BODY *body, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, fnWriteOutput fnWrite[], int iEnd) { - char cTime[OPTLEN]; + char *cTime; FILE *fp; double dTotTime; @@ -2177,13 +2177,13 @@ void WriteLog(BODY *body, CONTROL *control, FILES *files, MODULE *module, double dDt = fdGetTimeStep(body, control, system, update, fnUpdate); if (iEnd == 0) { - sprintf(cTime, "Input"); + fvFormattedString(&cTime, "Input"); fp = fopen(files->cLog, "w"); } else if (iEnd == 1) { - sprintf(cTime, "Final"); + fvFormattedString(&cTime, "Final"); fp = fopen(files->cLog, "a"); } else if (iEnd == -1) { - sprintf(cTime, "Initial"); + fvFormattedString(&cTime, "Initial"); fp = fopen(files->cLog, "w"); } else { fprintf(stderr, "ERROR: Unknown cTime in output.c:WriteLog.\n"); @@ -2211,7 +2211,7 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, int iBody, iCol, iOut, iSubOut, iExtra = 0, iGrid, iLat, jBody, j; double dCol[NUMOPT], *dTmp, dGrid[NUMOPT]; FILE *fp; - char cUnit[OPTLEN], cPoiseGrid[3 * NAMELEN], cLaplaceFunc[3 * NAMELEN]; + char *cUnit, *cPoiseGrid, *cLaplaceFunc; /* Write out all data columns for each body. As some data may span more than 1 column, we search the input list sequentially, adding iExtra to the @@ -2279,7 +2279,7 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, } /* Now write the columns */ - sprintf(cPoiseGrid, "%s.%s.Climate", system->cName, body[iBody].cName); + fvFormattedString(&cPoiseGrid, "%s.%s.Climate", system->cName, body[iBody].cName); if (control->Evolve.dTime == 0 && iLat == 0) { if (body[iBody].iClimateModel == SEA) { @@ -2347,7 +2347,7 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, if (control->Evolve.iDistOrbModel == RD4) { /* open body file to write laplace functions and related */ for (jBody = iBody + 1; jBody < control->Evolve.iNumBodies; jBody++) { - sprintf(cLaplaceFunc, "%s.%s.Laplace", body[iBody].cName, + fvFormattedString(&cLaplaceFunc, "%s.%s.Laplace", body[iBody].cName, body[jBody].cName); if (control->Evolve.dTime == 0) { fp = fopen(cLaplaceFunc, "w"); @@ -2392,7 +2392,7 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, /* open body file to write laplace functions and related */ for (jBody = iBody + 1; jBody < control->Evolve.iNumBodies; jBody++) { - sprintf(cLaplaceFunc, "%s.%s.Laplace", body[iBody].cName, + fvFormattedString(&cLaplaceFunc, "%s.%s.Laplace", body[iBody].cName, body[jBody].cName); fp = fopen(cLaplaceFunc, "w"); if (body[iBody].dSemi < body[jBody].dSemi) { @@ -2456,18 +2456,18 @@ void InitializeOutput(FILES *files, OUTPUT *output, fnWriteOutput fnWrite[]) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { memset(output[iOut].cName, '\0', OPTLEN); - sprintf(output[iOut].cName, "null"); + fvFormattedString(&output[iOut].cName, "null"); output[iOut].bGrid = 0; output[iOut].bNeg = 0; /* Is a negative option allowed */ output[iOut].dNeg = 1; /* Conversion factor for negative options */ output[iOut].iNum = 0; /* Number of parameters associated with option */ output[iOut].bDoNeg = malloc(MAXFILES * sizeof(int)); memset(output[iOut].cDescr, '\0', OUTDESCR); - sprintf(output[iOut].cDescr, "null"); + fvFormattedString(&output[iOut].cDescr, "null"); memset(output[iOut].cLongDescr, '\0', OUTLONDESCR); - sprintf(output[iOut].cLongDescr, "null"); + fvFormattedString(&output[iOut].cLongDescr, "null"); memset(output[iOut].cNeg, '\0', OUTDESCR); - sprintf(output[iOut].cNeg, "null"); + fvFormattedString(&output[iOut].cNeg, "null"); for (iBody = 0; iBody < MAXFILES; iBody++) { output[iOut].bDoNeg[iBody] = 0; } diff --git a/src/poise.c b/src/poise.c index d3cfc28f3..98b011249 100644 --- a/src/poise.c +++ b/src/poise.c @@ -144,10 +144,10 @@ void ReadFileOrbitOblData(BODY *body, CONTROL *control, FILES *files, /* Cannot exist in primary input file -- Each body has an output file */ NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); - strcpy(body[iFile - 1].cFileOrbitOblData, cTmp); + strcpy(body[iFile - 1].sFileOrbitOblData, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else if (iFile > 0) - strcpy(body[iFile - 1].cFileOrbitOblData, options->cDefault); + strcpy(body[iFile - 1].sFileOrbitOblData, options->cDefault); } void ReadIceAlbedo(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, @@ -1124,504 +1124,504 @@ void ReadMinIceSheetHeight(BODY *body, CONTROL *control, FILES *files, } void InitializeOptionsPoise(OPTIONS *options, fnReadOption fnRead[]) { - sprintf(options[OPT_LATCELLNUM].cName, "iLatCellNum"); - sprintf(options[OPT_LATCELLNUM].cDescr, "Number of latitude cells used in" + fvFormattedString(&options[OPT_LATCELLNUM].cName, "iLatCellNum"); + fvFormattedString(&options[OPT_LATCELLNUM].cDescr, "Number of latitude cells used in" " climate model"); - sprintf(options[OPT_LATCELLNUM].cDefault, "50"); + fvFormattedString(&options[OPT_LATCELLNUM].cDefault, "50"); options[OPT_LATCELLNUM].dDefault = 50; options[OPT_LATCELLNUM].iType = 1; options[OPT_LATCELLNUM].bMultiFile = 1; fnRead[OPT_LATCELLNUM] = &ReadLatCellNum; - sprintf(options[OPT_READORBITOBLDATA].cName, "bReadOrbitOblData"); - sprintf(options[OPT_READORBITOBLDATA].cDescr, "Read in orbital and obliquity \ + fvFormattedString(&options[OPT_READORBITOBLDATA].cName, "bReadOrbitOblData"); + fvFormattedString(&options[OPT_READORBITOBLDATA].cDescr, "Read in orbital and obliquity \ data and use with poise"); - sprintf(options[OPT_READORBITOBLDATA].cDefault, "0"); + fvFormattedString(&options[OPT_READORBITOBLDATA].cDefault, "0"); options[OPT_READORBITOBLDATA].dDefault = 0; options[OPT_READORBITOBLDATA].iType = 0; options[OPT_READORBITOBLDATA].bMultiFile = 1; fnRead[OPT_READORBITOBLDATA] = &ReadOrbitOblData; - sprintf(options[OPT_FILEORBITOBLDATA].cName, "sFileOrbitOblData"); - sprintf(options[OPT_FILEORBITOBLDATA].cDescr, "Name of file containing orbit\ + fvFormattedString(&options[OPT_FILEORBITOBLDATA].cName, "sFileOrbitOblData"); + fvFormattedString(&options[OPT_FILEORBITOBLDATA].cDescr, "Name of file containing orbit\ and obliquity time series"); - sprintf(options[OPT_FILEORBITOBLDATA].cDefault, "Obl_data.txt"); + fvFormattedString(&options[OPT_FILEORBITOBLDATA].cDefault, "Obl_data.txt"); options[OPT_FILEORBITOBLDATA].iType = 3; fnRead[OPT_FILEORBITOBLDATA] = &ReadFileOrbitOblData; - sprintf(options[OPT_PLANCKA].cName, "dPlanckA"); - sprintf(options[OPT_PLANCKA].cDescr, "Constant 'A' used in OLR calculation"); - sprintf(options[OPT_PLANCKA].cDefault, "203.3"); + fvFormattedString(&options[OPT_PLANCKA].cName, "dPlanckA"); + fvFormattedString(&options[OPT_PLANCKA].cDescr, "Constant 'A' used in OLR calculation"); + fvFormattedString(&options[OPT_PLANCKA].cDefault, "203.3"); options[OPT_PLANCKA].dDefault = 203.3; options[OPT_PLANCKA].iType = 2; options[OPT_PLANCKA].bMultiFile = 1; fnRead[OPT_PLANCKA] = &ReadPlanckA; - sprintf(options[OPT_PLANCKB].cName, "dPlanckB"); - sprintf(options[OPT_PLANCKB].cDescr, "Sensitivity 'B' used in" + fvFormattedString(&options[OPT_PLANCKB].cName, "dPlanckB"); + fvFormattedString(&options[OPT_PLANCKB].cDescr, "Sensitivity 'B' used in" " OLR calculation"); - sprintf(options[OPT_PLANCKB].cDefault, "2.09"); - sprintf(options[OPT_PLANCKB].cDimension, "nd"); + fvFormattedString(&options[OPT_PLANCKB].cDefault, "2.09"); + fvFormattedString(&options[OPT_PLANCKB].cDimension, "nd"); options[OPT_PLANCKB].dDefault = 2.09; options[OPT_PLANCKB].iType = 2; options[OPT_PLANCKB].bMultiFile = 1; fnRead[OPT_PLANCKB] = &ReadPlanckB; - sprintf(options[OPT_ICEALBEDO].cName, "dIceAlbedo"); - sprintf(options[OPT_ICEALBEDO].cDescr, "Albedo of ice"); - sprintf(options[OPT_ICEALBEDO].cDefault, "0.6"); - sprintf(options[OPT_ICEALBEDO].cDimension, "nd"); + fvFormattedString(&options[OPT_ICEALBEDO].cName, "dIceAlbedo"); + fvFormattedString(&options[OPT_ICEALBEDO].cDescr, "Albedo of ice"); + fvFormattedString(&options[OPT_ICEALBEDO].cDefault, "0.6"); + fvFormattedString(&options[OPT_ICEALBEDO].cDimension, "nd"); options[OPT_ICEALBEDO].dDefault = 0.6; options[OPT_ICEALBEDO].iType = 2; options[OPT_ICEALBEDO].bMultiFile = 1; fnRead[OPT_ICEALBEDO] = &ReadIceAlbedo; - sprintf(options[OPT_SURFALBEDO].cName, "dSurfAlbedo"); - sprintf(options[OPT_SURFALBEDO].cDescr, "Albedo of (ice-free) surface"); - sprintf(options[OPT_SURFALBEDO].cDefault, "0.3"); - sprintf(options[OPT_SURFALBEDO].cDimension, "nd"); + fvFormattedString(&options[OPT_SURFALBEDO].cName, "dSurfAlbedo"); + fvFormattedString(&options[OPT_SURFALBEDO].cDescr, "Albedo of (ice-free) surface"); + fvFormattedString(&options[OPT_SURFALBEDO].cDefault, "0.3"); + fvFormattedString(&options[OPT_SURFALBEDO].cDimension, "nd"); options[OPT_SURFALBEDO].dDefault = 0.3; options[OPT_SURFALBEDO].iType = 2; options[OPT_SURFALBEDO].bMultiFile = 1; fnRead[OPT_SURFALBEDO] = &ReadSurfAlbedo; - sprintf(options[OPT_TGLOBALEST].cName, "dTGlobalInit"); - sprintf(options[OPT_TGLOBALEST].cDescr, "Estimate of initial global" + fvFormattedString(&options[OPT_TGLOBALEST].cName, "dTGlobalInit"); + fvFormattedString(&options[OPT_TGLOBALEST].cDescr, "Estimate of initial global" " temperature"); - sprintf(options[OPT_TGLOBALEST].cDefault, "14.85"); - sprintf(options[OPT_TGLOBALEST].cDimension, "temperature"); + fvFormattedString(&options[OPT_TGLOBALEST].cDefault, "14.85"); + fvFormattedString(&options[OPT_TGLOBALEST].cDimension, "temperature"); options[OPT_TGLOBALEST].dDefault = 14.85; options[OPT_TGLOBALEST].iType = 2; options[OPT_TGLOBALEST].bMultiFile = 1; fnRead[OPT_TGLOBALEST] = &ReadTGlobalInit; - sprintf(options[OPT_PCO2].cName, "dpCO2"); - sprintf(options[OPT_PCO2].cDescr, "Partial pressure of CO2 in atmosphere"); - sprintf(options[OPT_PCO2].cDefault, "3.3e-4"); - sprintf(options[OPT_PCO2].cDimension, "nd"); + fvFormattedString(&options[OPT_PCO2].cName, "dpCO2"); + fvFormattedString(&options[OPT_PCO2].cDescr, "Partial pressure of CO2 in atmosphere"); + fvFormattedString(&options[OPT_PCO2].cDefault, "3.3e-4"); + fvFormattedString(&options[OPT_PCO2].cDimension, "nd"); options[OPT_PCO2].dDefault = 3.3e-4; options[OPT_PCO2].iType = 2; options[OPT_PCO2].bMultiFile = 1; fnRead[OPT_PCO2] = &ReadPCO2; - sprintf(options[OPT_CALCAB].cName, "bCalcAB"); - sprintf(options[OPT_CALCAB].cDescr, "Calculate A and B in OLR function, from" + fvFormattedString(&options[OPT_CALCAB].cName, "bCalcAB"); + fvFormattedString(&options[OPT_CALCAB].cDescr, "Calculate A and B in OLR function, from" " (T & pCO2)"); - sprintf(options[OPT_CALCAB].cDefault, "0"); - sprintf(options[OPT_CALCAB].cDimension, "nd"); + fvFormattedString(&options[OPT_CALCAB].cDefault, "0"); + fvFormattedString(&options[OPT_CALCAB].cDimension, "nd"); options[OPT_CALCAB].dDefault = 0; options[OPT_CALCAB].iType = 0; options[OPT_CALCAB].bMultiFile = 1; fnRead[OPT_CALCAB] = &ReadCalcAB; - sprintf(options[OPT_DIFFUSION].cName, "dDiffusion"); - sprintf(options[OPT_DIFFUSION].cDescr, "Heat diffusion coefficient"); - sprintf(options[OPT_DIFFUSION].cDefault, "0.44"); - sprintf(options[OPT_DIFFUSION].cDimension, "nd"); + fvFormattedString(&options[OPT_DIFFUSION].cName, "dDiffusion"); + fvFormattedString(&options[OPT_DIFFUSION].cDescr, "Heat diffusion coefficient"); + fvFormattedString(&options[OPT_DIFFUSION].cDefault, "0.44"); + fvFormattedString(&options[OPT_DIFFUSION].cDimension, "nd"); options[OPT_DIFFUSION].dDefault = 0.44; options[OPT_DIFFUSION].iType = 2; options[OPT_DIFFUSION].bMultiFile = 1; fnRead[OPT_DIFFUSION] = &ReadDiffusion; - sprintf(options[OPT_HADLEY].cName, "bHadley"); - sprintf(options[OPT_HADLEY].cDescr, "Enable Hadley circulation"); - sprintf(options[OPT_HADLEY].cDefault, "0"); + fvFormattedString(&options[OPT_HADLEY].cName, "bHadley"); + fvFormattedString(&options[OPT_HADLEY].cDescr, "Enable Hadley circulation"); + fvFormattedString(&options[OPT_HADLEY].cDefault, "0"); options[OPT_HADLEY].dDefault = 0; options[OPT_HADLEY].iType = 0; options[OPT_HADLEY].bMultiFile = 1; fnRead[OPT_HADLEY] = &ReadHadley; - sprintf(options[OPT_COLDSTART].cName, "bColdStart"); - sprintf(options[OPT_COLDSTART].cDescr, "Start from snowball Earth" + fvFormattedString(&options[OPT_COLDSTART].cName, "bColdStart"); + fvFormattedString(&options[OPT_COLDSTART].cDescr, "Start from snowball Earth" " conditions"); - sprintf(options[OPT_COLDSTART].cDefault, "0"); + fvFormattedString(&options[OPT_COLDSTART].cDefault, "0"); options[OPT_COLDSTART].dDefault = 0; options[OPT_COLDSTART].iType = 0; options[OPT_COLDSTART].bMultiFile = 1; fnRead[OPT_COLDSTART] = &ReadColdStart; - sprintf(options[OPT_FIXICELAT].cName, "dFixIceLat"); - sprintf(options[OPT_FIXICELAT].cDescr, + fvFormattedString(&options[OPT_FIXICELAT].cName, "dFixIceLat"); + fvFormattedString(&options[OPT_FIXICELAT].cDescr, "Force ice cap latitude to this value"); - sprintf(options[OPT_FIXICELAT].cDefault, "None"); - sprintf(options[OPT_FIXICELAT].cDimension, "nd"); + fvFormattedString(&options[OPT_FIXICELAT].cDefault, "None"); + fvFormattedString(&options[OPT_FIXICELAT].cDimension, "nd"); options[OPT_FIXICELAT].dDefault = 0; options[OPT_FIXICELAT].iType = 2; options[OPT_FIXICELAT].bMultiFile = 1; fnRead[OPT_FIXICELAT] = &ReadFixIceLat; - sprintf(options[OPT_ALBEDOZA].cName, "bAlbedoZA"); - sprintf(options[OPT_ALBEDOZA].cDescr, "Use albedo based on zenith angle"); - sprintf(options[OPT_ALBEDOZA].cDefault, "0"); + fvFormattedString(&options[OPT_ALBEDOZA].cName, "bAlbedoZA"); + fvFormattedString(&options[OPT_ALBEDOZA].cDescr, "Use albedo based on zenith angle"); + fvFormattedString(&options[OPT_ALBEDOZA].cDefault, "0"); options[OPT_ALBEDOZA].dDefault = 0; options[OPT_ALBEDOZA].iType = 0; options[OPT_ALBEDOZA].bMultiFile = 1; fnRead[OPT_ALBEDOZA] = &ReadAlbedoZA; - sprintf(options[OPT_MEPDIFF].cName, "bMEPDiff"); - sprintf(options[OPT_MEPDIFF].cDescr, "Calculate diffusion from max entropy" + fvFormattedString(&options[OPT_MEPDIFF].cName, "bMEPDiff"); + fvFormattedString(&options[OPT_MEPDIFF].cDescr, "Calculate diffusion from max entropy" " production (D=B/4)?"); - sprintf(options[OPT_MEPDIFF].cDefault, "0"); + fvFormattedString(&options[OPT_MEPDIFF].cDefault, "0"); options[OPT_MEPDIFF].dDefault = 0; options[OPT_MEPDIFF].iType = 0; options[OPT_MEPDIFF].bMultiFile = 1; fnRead[OPT_MEPDIFF] = &ReadMEPDiff; - sprintf(options[OPT_HEATCAPANN].cName, "dHeatCapAnn"); - sprintf(options[OPT_HEATCAPANN].cDescr, "Surface heat capacity in annual" + fvFormattedString(&options[OPT_HEATCAPANN].cName, "dHeatCapAnn"); + fvFormattedString(&options[OPT_HEATCAPANN].cDescr, "Surface heat capacity in annual" " model"); - sprintf(options[OPT_HEATCAPANN].cDefault, "0.2"); - sprintf(options[OPT_HEATCAPANN].cDimension, "energy/temperature"); + fvFormattedString(&options[OPT_HEATCAPANN].cDefault, "0.2"); + fvFormattedString(&options[OPT_HEATCAPANN].cDimension, "energy/temperature"); options[OPT_HEATCAPANN].dDefault = 0.2; options[OPT_HEATCAPANN].iType = 2; options[OPT_HEATCAPANN].bMultiFile = 1; fnRead[OPT_HEATCAPANN] = &ReadHeatCapAnn; - sprintf(options[OPT_ICEDEPRATE].cName, "dIceDepRate"); - sprintf(options[OPT_ICEDEPRATE].cDescr, "Deposition rate of ice/snow to form" + fvFormattedString(&options[OPT_ICEDEPRATE].cName, "dIceDepRate"); + fvFormattedString(&options[OPT_ICEDEPRATE].cDescr, "Deposition rate of ice/snow to form" " ice sheets"); - sprintf(options[OPT_ICEDEPRATE].cDefault, "2.9e-5"); - sprintf(options[OPT_ICEDEPRATE].cDimension, "length/time"); + fvFormattedString(&options[OPT_ICEDEPRATE].cDefault, "2.9e-5"); + fvFormattedString(&options[OPT_ICEDEPRATE].cDimension, "length/time"); options[OPT_ICEDEPRATE].dDefault = 2.9e-5; options[OPT_ICEDEPRATE].iType = 2; options[OPT_ICEDEPRATE].bMultiFile = 1; fnRead[OPT_ICEDEPRATE] = &ReadIceDepRate; - sprintf(options[OPT_ICESHEETS].cName, "bIceSheets"); - sprintf(options[OPT_ICESHEETS].cDescr, "Include ice sheets?"); - sprintf(options[OPT_ICESHEETS].cDefault, "0"); + fvFormattedString(&options[OPT_ICESHEETS].cName, "bIceSheets"); + fvFormattedString(&options[OPT_ICESHEETS].cDescr, "Include ice sheets?"); + fvFormattedString(&options[OPT_ICESHEETS].cDefault, "0"); options[OPT_ICESHEETS].dDefault = 0; options[OPT_ICESHEETS].iType = 0; options[OPT_ICESHEETS].bMultiFile = 1; fnRead[OPT_ICESHEETS] = &ReadIceSheets; - sprintf(options[OPT_INITICELAT].cName, "dInitIceLat"); - sprintf(options[OPT_INITICELAT].cDescr, "Sets initial ice sheet latitude"); - sprintf(options[OPT_INITICELAT].cDefault, "90"); - sprintf(options[OPT_INITICELAT].cDimension, "angle"); + fvFormattedString(&options[OPT_INITICELAT].cName, "dInitIceLat"); + fvFormattedString(&options[OPT_INITICELAT].cDescr, "Sets initial ice sheet latitude"); + fvFormattedString(&options[OPT_INITICELAT].cDefault, "90"); + fvFormattedString(&options[OPT_INITICELAT].cDimension, "angle"); options[OPT_INITICELAT].dDefault = 90.0; options[OPT_INITICELAT].iType = 2; options[OPT_INITICELAT].bMultiFile = 1; fnRead[OPT_INITICELAT] = &ReadInitIceLat; - sprintf(options[OPT_INITICEHEIGHT].cName, "dInitIceHeight"); - sprintf(options[OPT_INITICEHEIGHT].cDescr, "Sets initial ice sheet height"); - sprintf(options[OPT_INITICEHEIGHT].cDefault, "50"); // 50 meters - sprintf(options[OPT_INITICEHEIGHT].cDimension, "length"); + fvFormattedString(&options[OPT_INITICEHEIGHT].cName, "dInitIceHeight"); + fvFormattedString(&options[OPT_INITICEHEIGHT].cDescr, "Sets initial ice sheet height"); + fvFormattedString(&options[OPT_INITICEHEIGHT].cDefault, "50"); // 50 meters + fvFormattedString(&options[OPT_INITICEHEIGHT].cDimension, "length"); options[OPT_INITICEHEIGHT].dDefault = 50.0; options[OPT_INITICEHEIGHT].iType = 2; options[OPT_INITICEHEIGHT].bMultiFile = 1; fnRead[OPT_INITICEHEIGHT] = &ReadInitIceHeight; - sprintf(options[OPT_CLIMATEMODEL].cName, "sClimateModel"); - sprintf(options[OPT_CLIMATEMODEL].cDescr, "Use annual or seasonal model"); - sprintf(options[OPT_CLIMATEMODEL].cDefault, "ann"); + fvFormattedString(&options[OPT_CLIMATEMODEL].cName, "sClimateModel"); + fvFormattedString(&options[OPT_CLIMATEMODEL].cDescr, "Use annual or seasonal model"); + fvFormattedString(&options[OPT_CLIMATEMODEL].cDefault, "ann"); options[OPT_CLIMATEMODEL].dDefault = ANN; options[OPT_CLIMATEMODEL].iType = 3; options[OPT_CLIMATEMODEL].bMultiFile = 1; fnRead[OPT_CLIMATEMODEL] = &ReadClimateModel; - sprintf(options[OPT_OLRMODEL].cName, "iOLRModel"); - sprintf(options[OPT_OLRMODEL].cDescr, "Outgoing longwave rad model"); - sprintf(options[OPT_OLRMODEL].cDefault, "sms09"); + fvFormattedString(&options[OPT_OLRMODEL].cName, "iOLRModel"); + fvFormattedString(&options[OPT_OLRMODEL].cDescr, "Outgoing longwave rad model"); + fvFormattedString(&options[OPT_OLRMODEL].cDefault, "sms09"); options[OPT_OLRMODEL].dDefault = SMS09; options[OPT_OLRMODEL].iType = 1; options[OPT_OLRMODEL].bMultiFile = 1; fnRead[OPT_OLRMODEL] = &ReadOLRModel; - sprintf(options[OPT_SKIPSEASENABLED].cName, "bSkipSeasEnabled"); - sprintf(options[OPT_SKIPSEASENABLED].cDescr, "Run annual before seasonal and" + fvFormattedString(&options[OPT_SKIPSEASENABLED].cName, "bSkipSeasEnabled"); + fvFormattedString(&options[OPT_SKIPSEASENABLED].cDescr, "Run annual before seasonal and" " allow skip seas?"); - sprintf(options[OPT_SKIPSEASENABLED].cDefault, "0"); + fvFormattedString(&options[OPT_SKIPSEASENABLED].cDefault, "0"); options[OPT_SKIPSEASENABLED].dDefault = 0; options[OPT_SKIPSEASENABLED].iType = 0; options[OPT_SKIPSEASENABLED].bMultiFile = 1; fnRead[OPT_SKIPSEASENABLED] = &ReadSkipSeasEnabled; - sprintf(options[OPT_HEATCAPLAND].cName, "dHeatCapLand"); - sprintf(options[OPT_HEATCAPLAND].cDescr, "Land heat capacity in seasonal" + fvFormattedString(&options[OPT_HEATCAPLAND].cName, "dHeatCapLand"); + fvFormattedString(&options[OPT_HEATCAPLAND].cDescr, "Land heat capacity in seasonal" " model"); - sprintf(options[OPT_HEATCAPLAND].cDefault, "1.42e7"); // XXX What units? - sprintf(options[OPT_HEATCAPLAND].cDimension, "energy/temperature"); + fvFormattedString(&options[OPT_HEATCAPLAND].cDefault, "1.42e7"); // XXX What units? + fvFormattedString(&options[OPT_HEATCAPLAND].cDimension, "energy/temperature"); options[OPT_HEATCAPLAND].dDefault = 1.42e7; options[OPT_HEATCAPLAND].iType = 2; options[OPT_HEATCAPLAND].bMultiFile = 1; fnRead[OPT_HEATCAPLAND] = &ReadHeatCapLand; - sprintf(options[OPT_HEATCAPWATER].cName, "dHeatCapWater"); - sprintf(options[OPT_HEATCAPWATER].cDescr, "Water heat capacity per meter in" + fvFormattedString(&options[OPT_HEATCAPWATER].cName, "dHeatCapWater"); + fvFormattedString(&options[OPT_HEATCAPWATER].cDescr, "Water heat capacity per meter in" " seasonal model"); - sprintf(options[OPT_HEATCAPWATER].cDefault, "4.2e6"); // XXX What units - sprintf(options[OPT_HEATCAPWATER].cDimension, "energy/temperature"); + fvFormattedString(&options[OPT_HEATCAPWATER].cDefault, "4.2e6"); // XXX What units + fvFormattedString(&options[OPT_HEATCAPWATER].cDimension, "energy/temperature"); options[OPT_HEATCAPWATER].dDefault = 4.2e6; options[OPT_HEATCAPWATER].iType = 2; options[OPT_HEATCAPWATER].bMultiFile = 1; fnRead[OPT_HEATCAPWATER] = &ReadHeatCapWater; - sprintf(options[OPT_MIXINGDEPTH].cName, "dMixingDepth"); - sprintf(options[OPT_MIXINGDEPTH].cDescr, "Mixing depth of ocean in seasonal" + fvFormattedString(&options[OPT_MIXINGDEPTH].cName, "dMixingDepth"); + fvFormattedString(&options[OPT_MIXINGDEPTH].cDescr, "Mixing depth of ocean in seasonal" " model"); - sprintf(options[OPT_MIXINGDEPTH].cDefault, "70"); // meters - sprintf(options[OPT_MIXINGDEPTH].cDimension, "length"); + fvFormattedString(&options[OPT_MIXINGDEPTH].cDefault, "70"); // meters + fvFormattedString(&options[OPT_MIXINGDEPTH].cDimension, "length"); options[OPT_MIXINGDEPTH].dDefault = 70.; options[OPT_MIXINGDEPTH].iType = 2; options[OPT_MIXINGDEPTH].bMultiFile = 1; fnRead[OPT_MIXINGDEPTH] = &ReadMixingDepth; - sprintf(options[OPT_FRZTSEAICE].cName, "dFrzTSeaIce"); - sprintf(options[OPT_FRZTSEAICE].cDescr, "Temp of sea ice formation in" + fvFormattedString(&options[OPT_FRZTSEAICE].cName, "dFrzTSeaIce"); + fvFormattedString(&options[OPT_FRZTSEAICE].cDescr, "Temp of sea ice formation in" " seasonal model"); - sprintf(options[OPT_FRZTSEAICE].cDefault, "-2 deg C"); - sprintf(options[OPT_FRZTSEAICE].cDimension, "temperature"); + fvFormattedString(&options[OPT_FRZTSEAICE].cDefault, "-2 deg C"); + fvFormattedString(&options[OPT_FRZTSEAICE].cDimension, "temperature"); options[OPT_FRZTSEAICE].dDefault = -2.; options[OPT_FRZTSEAICE].iType = 2; options[OPT_FRZTSEAICE].bMultiFile = 1; fnRead[OPT_FRZTSEAICE] = &ReadFrzTSeaIce; - sprintf(options[OPT_NULANDWATER].cName, "dNuLandWater"); - sprintf(options[OPT_NULANDWATER].cDescr, "Coefficient of land-ocean heat" + fvFormattedString(&options[OPT_NULANDWATER].cName, "dNuLandWater"); + fvFormattedString(&options[OPT_NULANDWATER].cDescr, "Coefficient of land-ocean heat" " flux"); - sprintf(options[OPT_NULANDWATER].cDefault, "0.81"); - sprintf(options[OPT_NULANDWATER].cDimension, "energy/length^2"); + fvFormattedString(&options[OPT_NULANDWATER].cDefault, "0.81"); + fvFormattedString(&options[OPT_NULANDWATER].cDimension, "energy/length^2"); options[OPT_NULANDWATER].dDefault = 0.81; options[OPT_NULANDWATER].iType = 2; options[OPT_NULANDWATER].bMultiFile = 1; fnRead[OPT_NULANDWATER] = &ReadNuLandWater; - sprintf(options[OPT_LANDFRAC].cName, "dLandFrac"); - sprintf(options[OPT_LANDFRAC].cDescr, "Fraction of land on the planetary" + fvFormattedString(&options[OPT_LANDFRAC].cName, "dLandFrac"); + fvFormattedString(&options[OPT_LANDFRAC].cDescr, "Fraction of land on the planetary" " surface"); - sprintf(options[OPT_LANDFRAC].cDefault, "0.34"); - sprintf(options[OPT_LANDFRAC].cDimension, "nd"); + fvFormattedString(&options[OPT_LANDFRAC].cDefault, "0.34"); + fvFormattedString(&options[OPT_LANDFRAC].cDimension, "nd"); options[OPT_LANDFRAC].dDefault = 0.34; options[OPT_LANDFRAC].iType = 2; options[OPT_LANDFRAC].bMultiFile = 1; fnRead[OPT_LANDFRAC] = &ReadLandFrac; - sprintf(options[OPT_NSTEPINYEAR].cName, "iNStepInYear"); - sprintf(options[OPT_NSTEPINYEAR].cDescr, "Number of time-steps/year in" + fvFormattedString(&options[OPT_NSTEPINYEAR].cName, "iNStepInYear"); + fvFormattedString(&options[OPT_NSTEPINYEAR].cDescr, "Number of time-steps/year in" " seasonal model"); - sprintf(options[OPT_NSTEPINYEAR].cDefault, "60"); + fvFormattedString(&options[OPT_NSTEPINYEAR].cDefault, "60"); options[OPT_NSTEPINYEAR].dDefault = 60; options[OPT_NSTEPINYEAR].iType = 1; options[OPT_NSTEPINYEAR].bMultiFile = 1; fnRead[OPT_NSTEPINYEAR] = &ReadNStepInYear; - sprintf(options[OPT_NUMYEARS].cName, "iNumYears"); - sprintf(options[OPT_NUMYEARS].cDescr, "Number of years to run seasonal" + fvFormattedString(&options[OPT_NUMYEARS].cName, "iNumYears"); + fvFormattedString(&options[OPT_NUMYEARS].cDescr, "Number of years to run seasonal" " model"); - sprintf(options[OPT_NUMYEARS].cDefault, "10"); + fvFormattedString(&options[OPT_NUMYEARS].cDefault, "10"); options[OPT_NUMYEARS].dDefault = 10; options[OPT_NUMYEARS].iType = 1; options[OPT_NUMYEARS].bMultiFile = 1; fnRead[OPT_NUMYEARS] = &ReadNumYears; - sprintf(options[OPT_SEAICEMODEL].cName, "bSeaIceModel"); - sprintf(options[OPT_SEAICEMODEL].cDescr, "model sea ice dynamics and heat" + fvFormattedString(&options[OPT_SEAICEMODEL].cName, "bSeaIceModel"); + fvFormattedString(&options[OPT_SEAICEMODEL].cDescr, "model sea ice dynamics and heat" " flow?"); - sprintf(options[OPT_SEAICEMODEL].cDefault, "1"); + fvFormattedString(&options[OPT_SEAICEMODEL].cDefault, "1"); options[OPT_SEAICEMODEL].dDefault = 1; options[OPT_SEAICEMODEL].iType = 0; options[OPT_SEAICEMODEL].bMultiFile = 1; fnRead[OPT_SEAICEMODEL] = &ReadSeaIceModel; - sprintf(options[OPT_ICECONDUCT].cName, "dSeaIceConduct"); - sprintf(options[OPT_ICECONDUCT].cDescr, "Heat conductivity of sea ice"); - sprintf(options[OPT_ICECONDUCT].cDefault, "2"); - sprintf(options[OPT_ICECONDUCT].cDimension, "nd"); + fvFormattedString(&options[OPT_ICECONDUCT].cName, "dSeaIceConduct"); + fvFormattedString(&options[OPT_ICECONDUCT].cDescr, "Heat conductivity of sea ice"); + fvFormattedString(&options[OPT_ICECONDUCT].cDefault, "2"); + fvFormattedString(&options[OPT_ICECONDUCT].cDimension, "nd"); options[OPT_ICECONDUCT].dDefault = 2.; options[OPT_ICECONDUCT].iType = 2; options[OPT_ICECONDUCT].bMultiFile = 1; fnRead[OPT_ICECONDUCT] = &ReadSeaIceConduct; - sprintf(options[OPT_ALBEDOLAND].cName, "dAlbedoLand"); - sprintf(options[OPT_ALBEDOLAND].cDescr, "albedo of dry land"); - sprintf(options[OPT_ALBEDOLAND].cDefault, "0.363"); - sprintf(options[OPT_ALBEDOLAND].cDimension, "nd"); + fvFormattedString(&options[OPT_ALBEDOLAND].cName, "dAlbedoLand"); + fvFormattedString(&options[OPT_ALBEDOLAND].cDescr, "albedo of dry land"); + fvFormattedString(&options[OPT_ALBEDOLAND].cDefault, "0.363"); + fvFormattedString(&options[OPT_ALBEDOLAND].cDimension, "nd"); options[OPT_ALBEDOLAND].dDefault = 0.363; options[OPT_ALBEDOLAND].iType = 2; options[OPT_ALBEDOLAND].bMultiFile = 1; fnRead[OPT_ALBEDOLAND] = &ReadAlbedoLand; - sprintf(options[OPT_ALBEDOWATER].cName, "dAlbedoWater"); - sprintf(options[OPT_ALBEDOWATER].cDescr, "albedo of open water"); - sprintf(options[OPT_ALBEDOWATER].cDefault, "0.263"); - sprintf(options[OPT_ALBEDOWATER].cDimension, "nd"); + fvFormattedString(&options[OPT_ALBEDOWATER].cName, "dAlbedoWater"); + fvFormattedString(&options[OPT_ALBEDOWATER].cDescr, "albedo of open water"); + fvFormattedString(&options[OPT_ALBEDOWATER].cDefault, "0.263"); + fvFormattedString(&options[OPT_ALBEDOWATER].cDimension, "nd"); options[OPT_ALBEDOWATER].dDefault = 0.263; options[OPT_ALBEDOWATER].iType = 2; options[OPT_ALBEDOWATER].bMultiFile = 1; fnRead[OPT_ALBEDOWATER] = &ReadAlbedoWater; - sprintf(options[OPT_ICEDT].cName, "iIceDt"); - sprintf(options[OPT_ICEDT].cDescr, "Minimum ice sheet timestep (unit orbital" + fvFormattedString(&options[OPT_ICEDT].cName, "iIceDt"); + fvFormattedString(&options[OPT_ICEDT].cDescr, "Minimum ice sheet timestep (unit orbital" " period)"); - sprintf(options[OPT_ICEDT].cDefault, "5"); + fvFormattedString(&options[OPT_ICEDT].cDefault, "5"); options[OPT_ICEDT].dDefault = 5; options[OPT_ICEDT].iType = 1; options[OPT_ICEDT].bMultiFile = 1; fnRead[OPT_ICEDT] = &ReadIceDt; - sprintf(options[OPT_RERUNSEAS].cName, "iReRunSeas"); - sprintf(options[OPT_RERUNSEAS].cDescr, "how often to rerun seasonal in ice" + fvFormattedString(&options[OPT_RERUNSEAS].cName, "iReRunSeas"); + fvFormattedString(&options[OPT_RERUNSEAS].cDescr, "how often to rerun seasonal in ice" " sheet model, in number of orbital" " periods"); - sprintf(options[OPT_RERUNSEAS].cDefault, "500"); + fvFormattedString(&options[OPT_RERUNSEAS].cDefault, "500"); options[OPT_RERUNSEAS].dDefault = 5; options[OPT_RERUNSEAS].iType = 1; options[OPT_RERUNSEAS].bMultiFile = 1; fnRead[OPT_RERUNSEAS] = &ReadReRunSeas; - sprintf(options[OPT_GEOGRAPHY].cName, "sGeography"); - sprintf(options[OPT_GEOGRAPHY].cDescr, "Type of land distribution"); - sprintf(options[OPT_GEOGRAPHY].cDefault, "uni3"); + fvFormattedString(&options[OPT_GEOGRAPHY].cName, "sGeography"); + fvFormattedString(&options[OPT_GEOGRAPHY].cDescr, "Type of land distribution"); + fvFormattedString(&options[OPT_GEOGRAPHY].cDefault, "uni3"); options[OPT_GEOGRAPHY].dDefault = UNIFORM3; options[OPT_GEOGRAPHY].iType = 3; options[OPT_GEOGRAPHY].bMultiFile = 1; fnRead[OPT_GEOGRAPHY] = &ReadGeography; - sprintf(options[OPT_SEASOUTPUTTIME].cName, "dSeasOutputTime"); - sprintf(options[OPT_SEASOUTPUTTIME].cDescr, "Output interval for seasonal" + fvFormattedString(&options[OPT_SEASOUTPUTTIME].cName, "dSeasOutputTime"); + fvFormattedString(&options[OPT_SEASOUTPUTTIME].cDescr, "Output interval for seasonal" " parameters"); - sprintf(options[OPT_SEASOUTPUTTIME].cDefault, "0"); - sprintf(options[OPT_SEASOUTPUTTIME].cDimension, "nd"); + fvFormattedString(&options[OPT_SEASOUTPUTTIME].cDefault, "0"); + fvFormattedString(&options[OPT_SEASOUTPUTTIME].cDimension, "nd"); options[OPT_SEASOUTPUTTIME].dDefault = 0; options[OPT_SEASOUTPUTTIME].iType = 2; options[OPT_SEASOUTPUTTIME].bMultiFile = 1; fnRead[OPT_SEASOUTPUTTIME] = &ReadSeasOutputTime; - sprintf(options[OPT_FORCEOBLIQ].cName, "bForceObliq"); - sprintf(options[OPT_FORCEOBLIQ].cDescr, "Force obliquity to evolve" + fvFormattedString(&options[OPT_FORCEOBLIQ].cName, "bForceObliq"); + fvFormattedString(&options[OPT_FORCEOBLIQ].cDescr, "Force obliquity to evolve" " sinusoidally?"); - sprintf(options[OPT_FORCEOBLIQ].cDefault, "0"); + fvFormattedString(&options[OPT_FORCEOBLIQ].cDefault, "0"); options[OPT_FORCEOBLIQ].dDefault = 0; options[OPT_FORCEOBLIQ].iType = 0; options[OPT_FORCEOBLIQ].bMultiFile = 1; fnRead[OPT_FORCEOBLIQ] = &ReadForceObliq; - sprintf(options[OPT_DIFFROT].cName, "bDiffRot"); - sprintf(options[OPT_DIFFROT].cDescr, "Adjust heat diffusion for rotation" + fvFormattedString(&options[OPT_DIFFROT].cName, "bDiffRot"); + fvFormattedString(&options[OPT_DIFFROT].cDescr, "Adjust heat diffusion for rotation" " rate?"); - sprintf(options[OPT_DIFFROT].cDefault, "0"); + fvFormattedString(&options[OPT_DIFFROT].cDefault, "0"); options[OPT_DIFFROT].dDefault = 0; options[OPT_DIFFROT].iType = 0; options[OPT_DIFFROT].bMultiFile = 1; fnRead[OPT_DIFFROT] = &ReadDiffRot; - sprintf(options[OPT_OBLIQAMP].cName, "dObliqAmp"); - sprintf(options[OPT_OBLIQAMP].cDescr, "Amplitude of forced obliquity oscill"); - sprintf(options[OPT_OBLIQAMP].cDefault, "50 deg"); - sprintf(options[OPT_OBLIQAMP].cDimension, "angle"); + fvFormattedString(&options[OPT_OBLIQAMP].cName, "dObliqAmp"); + fvFormattedString(&options[OPT_OBLIQAMP].cDescr, "Amplitude of forced obliquity oscill"); + fvFormattedString(&options[OPT_OBLIQAMP].cDefault, "50 deg"); + fvFormattedString(&options[OPT_OBLIQAMP].cDimension, "angle"); options[OPT_OBLIQAMP].dDefault = 50; options[OPT_OBLIQAMP].iType = 2; options[OPT_OBLIQAMP].bMultiFile = 1; fnRead[OPT_OBLIQAMP] = &ReadObliqAmp; - sprintf(options[OPT_OBLIQPER].cName, "dObliqPer"); - sprintf(options[OPT_OBLIQPER].cDescr, "Period of forced obliquity oscill"); - sprintf(options[OPT_OBLIQPER].cDefault, "50000"); // XXX What units? - sprintf(options[OPT_OBLIQPER].cDimension, "time"); + fvFormattedString(&options[OPT_OBLIQPER].cName, "dObliqPer"); + fvFormattedString(&options[OPT_OBLIQPER].cDescr, "Period of forced obliquity oscill"); + fvFormattedString(&options[OPT_OBLIQPER].cDefault, "50000"); // XXX What units? + fvFormattedString(&options[OPT_OBLIQPER].cDimension, "time"); options[OPT_OBLIQPER].dDefault = 50000; options[OPT_OBLIQPER].iType = 2; options[OPT_OBLIQPER].bMultiFile = 1; fnRead[OPT_OBLIQPER] = &ReadObliqPer; - sprintf(options[OPT_FORCEECC].cName, "bForceEcc"); - sprintf(options[OPT_FORCEECC].cDescr, "Force Eccentricity to evolve" + fvFormattedString(&options[OPT_FORCEECC].cName, "bForceEcc"); + fvFormattedString(&options[OPT_FORCEECC].cDescr, "Force Eccentricity to evolve" " sinusoidally?"); - sprintf(options[OPT_FORCEECC].cDefault, "0"); + fvFormattedString(&options[OPT_FORCEECC].cDefault, "0"); options[OPT_FORCEECC].dDefault = 0; options[OPT_FORCEECC].iType = 0; options[OPT_FORCEECC].bMultiFile = 1; fnRead[OPT_FORCEECC] = &ReadForceEcc; - sprintf(options[OPT_ECCAMP].cName, "dEccAmp"); - sprintf(options[OPT_ECCAMP].cDescr, "Amplitude of forced eccentricity" + fvFormattedString(&options[OPT_ECCAMP].cName, "dEccAmp"); + fvFormattedString(&options[OPT_ECCAMP].cDescr, "Amplitude of forced eccentricity" " oscill"); - sprintf(options[OPT_ECCAMP].cDefault, "0.1"); - sprintf(options[OPT_ECCAMP].cDimension, "nd"); + fvFormattedString(&options[OPT_ECCAMP].cDefault, "0.1"); + fvFormattedString(&options[OPT_ECCAMP].cDimension, "nd"); options[OPT_ECCAMP].dDefault = 0.1; options[OPT_ECCAMP].iType = 2; options[OPT_ECCAMP].bMultiFile = 1; fnRead[OPT_ECCAMP] = &ReadEccAmp; - sprintf(options[OPT_ECCPER].cName, "dEccPer"); - sprintf(options[OPT_ECCPER].cDescr, "Period of forced eccentricity oscill"); - sprintf(options[OPT_ECCPER].cDefault, "50000"); // !!! What units? - sprintf(options[OPT_ECCPER].cDimension, "time"); + fvFormattedString(&options[OPT_ECCPER].cName, "dEccPer"); + fvFormattedString(&options[OPT_ECCPER].cDescr, "Period of forced eccentricity oscill"); + fvFormattedString(&options[OPT_ECCPER].cDefault, "50000"); // !!! What units? + fvFormattedString(&options[OPT_ECCPER].cDimension, "time"); options[OPT_ECCPER].dDefault = 50000; options[OPT_ECCPER].iType = 2; options[OPT_ECCPER].bMultiFile = 1; fnRead[OPT_ECCPER] = &ReadEccPer; - sprintf(options[OPT_ACCUMODE].cName, "bAccuracyMode"); - sprintf(options[OPT_ACCUMODE].cDescr, + fvFormattedString(&options[OPT_ACCUMODE].cName, "bAccuracyMode"); + fvFormattedString(&options[OPT_ACCUMODE].cDescr, "Re-invert matrix every EBM time step?"); - sprintf(options[OPT_ACCUMODE].cDefault, "0"); + fvFormattedString(&options[OPT_ACCUMODE].cDefault, "0"); options[OPT_ACCUMODE].dDefault = 0; options[OPT_ACCUMODE].iType = 0; options[OPT_ACCUMODE].bMultiFile = 1; fnRead[OPT_ACCUMODE] = &ReadAccuracyMode; - sprintf(options[OPT_ELEVFB].cName, "bElevFB"); - sprintf(options[OPT_ELEVFB].cDescr, "Use elevation feedback for ice sheet" + fvFormattedString(&options[OPT_ELEVFB].cName, "bElevFB"); + fvFormattedString(&options[OPT_ELEVFB].cDescr, "Use elevation feedback for ice sheet" " ablation?"); - sprintf(options[OPT_ELEVFB].cDefault, "0"); + fvFormattedString(&options[OPT_ELEVFB].cDefault, "0"); options[OPT_ELEVFB].dDefault = 0; options[OPT_ELEVFB].iType = 0; options[OPT_ELEVFB].bMultiFile = 1; fnRead[OPT_ELEVFB] = &ReadElevFB; - sprintf(options[OPT_LAPSER].cName, "dLapseR"); - sprintf(options[OPT_LAPSER].cDescr, "Dry adiabatic lapse rate (for elev" + fvFormattedString(&options[OPT_LAPSER].cName, "dLapseR"); + fvFormattedString(&options[OPT_LAPSER].cDescr, "Dry adiabatic lapse rate (for elev" " feedback)"); - sprintf(options[OPT_LAPSER].cDefault, "9.8e-3 C/m"); - sprintf(options[OPT_LAPSER].cDimension, "temperature/length"); + fvFormattedString(&options[OPT_LAPSER].cDefault, "9.8e-3 C/m"); + fvFormattedString(&options[OPT_LAPSER].cDimension, "temperature/length"); options[OPT_LAPSER].dDefault = 9.8e-3; options[OPT_LAPSER].iType = 2; options[OPT_LAPSER].bMultiFile = 1; fnRead[OPT_LAPSER] = &ReadLapseR; - sprintf(options[OPT_REFHEIGHT].cName, "dRefHeight"); - sprintf(options[OPT_REFHEIGHT].cDescr, "Reference height of atmos temp (for" + fvFormattedString(&options[OPT_REFHEIGHT].cName, "dRefHeight"); + fvFormattedString(&options[OPT_REFHEIGHT].cDescr, "Reference height of atmos temp (for" " elev feedback)"); - sprintf(options[OPT_REFHEIGHT].cDefault, "1000 m"); - sprintf(options[OPT_REFHEIGHT].cDimension, "length"); + fvFormattedString(&options[OPT_REFHEIGHT].cDefault, "1000 m"); + fvFormattedString(&options[OPT_REFHEIGHT].cDimension, "length"); options[OPT_REFHEIGHT].dDefault = 1000.0; options[OPT_REFHEIGHT].iType = 2; options[OPT_REFHEIGHT].bMultiFile = 1; fnRead[OPT_REFHEIGHT] = &ReadRefHeight; - sprintf(options[OPT_ABLATEFF].cName, "dAblateFF"); - sprintf(options[OPT_ABLATEFF].cDescr, "Ice ablation fudge factor"); - sprintf(options[OPT_ABLATEFF].cDefault, "2.3"); - sprintf(options[OPT_ABLATEFF].cDimension, "nd"); + fvFormattedString(&options[OPT_ABLATEFF].cName, "dAblateFF"); + fvFormattedString(&options[OPT_ABLATEFF].cDescr, "Ice ablation fudge factor"); + fvFormattedString(&options[OPT_ABLATEFF].cDefault, "2.3"); + fvFormattedString(&options[OPT_ABLATEFF].cDimension, "nd"); options[OPT_ABLATEFF].dDefault = 2.3; options[OPT_ABLATEFF].iType = 2; options[OPT_ABLATEFF].bMultiFile = 1; fnRead[OPT_ABLATEFF] = &ReadAblateFF; - sprintf(options[OPT_SPINUPTOL].cName, "dSpinUpTol"); - sprintf(options[OPT_SPINUPTOL].cDescr, "Tolerance for spin up phase"); - sprintf(options[OPT_SPINUPTOL].cDefault, "0.1 deg C"); - sprintf(options[OPT_SPINUPTOL].cDimension, "temperature"); + fvFormattedString(&options[OPT_SPINUPTOL].cName, "dSpinUpTol"); + fvFormattedString(&options[OPT_SPINUPTOL].cDescr, "Tolerance for spin up phase"); + fvFormattedString(&options[OPT_SPINUPTOL].cDefault, "0.1 deg C"); + fvFormattedString(&options[OPT_SPINUPTOL].cDimension, "temperature"); options[OPT_SPINUPTOL].dDefault = 0.1; options[OPT_SPINUPTOL].iType = 2; options[OPT_SPINUPTOL].bMultiFile = 1; fnRead[OPT_SPINUPTOL] = &ReadSpinUpTol; - sprintf(options[OPT_MINICEHEIGHT].cName, "dMinIceSheetHeight"); - sprintf(options[OPT_MINICEHEIGHT].cDescr, "Minimum ice sheet height for a" + fvFormattedString(&options[OPT_MINICEHEIGHT].cName, "dMinIceSheetHeight"); + fvFormattedString(&options[OPT_MINICEHEIGHT].cDescr, "Minimum ice sheet height for a" " latitude to be considered" " ice-covered"); - sprintf(options[OPT_MINICEHEIGHT].cDefault, "0.001"); // What units? XXX - sprintf(options[OPT_MINICEHEIGHT].cDimension, "length"); + fvFormattedString(&options[OPT_MINICEHEIGHT].cDefault, "0.001"); // What units? XXX + fvFormattedString(&options[OPT_MINICEHEIGHT].cDimension, "length"); options[OPT_MINICEHEIGHT].dDefault = 0.001; options[OPT_MINICEHEIGHT].iType = 2; options[OPT_MINICEHEIGHT].bMultiFile = 1; options[OPT_MINICEHEIGHT].dNeg = 1; // Convert to SI - sprintf(options[OPT_MINICEHEIGHT].cNeg, "meters"); + fvFormattedString(&options[OPT_MINICEHEIGHT].cNeg, "meters"); fnRead[OPT_MINICEHEIGHT] = &ReadMinIceSheetHeight; - sprintf(options[OPT_MINICEHEIGHT].cLongDescr, + fvFormattedString(&options[OPT_MINICEHEIGHT].cLongDescr, "The minimum thickness of permanent ice in a latitude bin for it to " "be\n" "labeled ice-covered. In some cases, such as rapid thawing, a " @@ -1796,9 +1796,9 @@ void VerifyOrbitOblData(BODY *body, CONTROL *control, OPTIONS *options, options[OPT_READORBITOBLDATA].cName, body[iBody].cName); exit(EXIT_INPUT); } else { - fileorb = fopen(body[iBody].cFileOrbitOblData, "r"); + fileorb = fopen(body[iBody].sFileOrbitOblData, "r"); if (fileorb == NULL) { - printf("ERROR: File %s not found.\n", body[iBody].cFileOrbitOblData); + printf("ERROR: File %s not found.\n", body[iBody].sFileOrbitOblData); exit(EXIT_INPUT); } iNLines = 0; @@ -3330,7 +3330,7 @@ void WriteDailyInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { - char cOut[3 * NAMELEN]; + char *cOut; FILE *fp; int iLat, iDay; double dTime; @@ -3349,17 +3349,17 @@ void WriteDailyInsol(BODY *body, CONTROL *control, OUTPUT *output, if (dTime == 0) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.DailyInsol.0", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.DailyInsol.0", system->cName, body[iBody].cName); } else if (dTime < 10000) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.DailyInsol.%.0f", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.DailyInsol.%.0f", system->cName, body[iBody].cName, dTime); } else { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.DailyInsol.%.2e", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.DailyInsol.%.2e", system->cName, body[iBody].cName, dTime); } @@ -3383,7 +3383,7 @@ void WritePlanckB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { - char cOut[3 * NAMELEN]; + char *cOut; FILE *fp; int iLat, iDay; double dTime; @@ -3402,17 +3402,17 @@ void WritePlanckB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (dTime == 0) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.PlanckB.0", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.PlanckB.0", system->cName, body[iBody].cName); } else if (dTime < 10000) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.PlanckB.%.0f", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.PlanckB.%.0f", system->cName, body[iBody].cName, dTime); } else { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.PlanckB.%.2e", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.PlanckB.%.2e", system->cName, body[iBody].cName, dTime); } @@ -3437,7 +3437,7 @@ void WriteSeasonalTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { - char cOut[3 * NAMELEN]; + char *cOut; FILE *fp; int iLat, iDay; double dTime; @@ -3456,17 +3456,17 @@ void WriteSeasonalTemp(BODY *body, CONTROL *control, OUTPUT *output, if (dTime == 0) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.SeasonalTemp.0", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.SeasonalTemp.0", system->cName, body[iBody].cName); } else if (dTime < 10000) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.SeasonalTemp.%.0f", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.SeasonalTemp.%.0f", system->cName, body[iBody].cName, dTime); } else { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.SeasonalTemp.%.2e", system->cName, + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.SeasonalTemp.%.2e", system->cName, body[iBody].cName, dTime); } @@ -3493,8 +3493,7 @@ void WriteSeasonalFluxes(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { - char cOutM[3 * NAMELEN], cOutI[3 * NAMELEN], cOutO[3 * NAMELEN], - cOutD[3 * NAMELEN]; + char *cOutM, *cOutI, *cOutO, *cOutD; FILE *fpM, *fpI, *fpO, *fpD; int iLat, iDay; double dTime; @@ -3513,35 +3512,35 @@ void WriteSeasonalFluxes(BODY *body, CONTROL *control, OUTPUT *output, if (dTime == 0) { - sprintf(cOutM, "SeasonalClimateFiles/%s.%s.SeasonalFMerid.0", system->cName, + fvFormattedString(&cOutM, "SeasonalClimateFiles/%s.%s.SeasonalFMerid.0", system->cName, body[iBody].cName); - sprintf(cOutI, "SeasonalClimateFiles/%s.%s.SeasonalFIn.0", system->cName, + fvFormattedString(&cOutI, "SeasonalClimateFiles/%s.%s.SeasonalFIn.0", system->cName, body[iBody].cName); - sprintf(cOutO, "SeasonalClimateFiles/%s.%s.SeasonalFOut.0", system->cName, + fvFormattedString(&cOutO, "SeasonalClimateFiles/%s.%s.SeasonalFOut.0", system->cName, body[iBody].cName); - sprintf(cOutD, "SeasonalClimateFiles/%s.%s.SeasonalDivF.0", system->cName, + fvFormattedString(&cOutD, "SeasonalClimateFiles/%s.%s.SeasonalDivF.0", system->cName, body[iBody].cName); } else if (dTime < 10000) { - sprintf(cOutM, "SeasonalClimateFiles/%s.%s.SeasonalFMerid.%.0f", + fvFormattedString(&cOutM, "SeasonalClimateFiles/%s.%s.SeasonalFMerid.%.0f", system->cName, body[iBody].cName, dTime); - sprintf(cOutI, "SeasonalClimateFiles/%s.%s.SeasonalFIn.%.0f", system->cName, + fvFormattedString(&cOutI, "SeasonalClimateFiles/%s.%s.SeasonalFIn.%.0f", system->cName, body[iBody].cName, dTime); - sprintf(cOutO, "SeasonalClimateFiles/%s.%s.SeasonalFOut.%.0f", + fvFormattedString(&cOutO, "SeasonalClimateFiles/%s.%s.SeasonalFOut.%.0f", system->cName, body[iBody].cName, dTime); - sprintf(cOutD, "SeasonalClimateFiles/%s.%s.SeasonalDivF.%.0f", + fvFormattedString(&cOutD, "SeasonalClimateFiles/%s.%s.SeasonalDivF.%.0f", system->cName, body[iBody].cName, dTime); } else { - sprintf(cOutM, "SeasonalClimateFiles/%s.%s.SeasonalFMerid.%.2e", + fvFormattedString(&cOutM, "SeasonalClimateFiles/%s.%s.SeasonalFMerid.%.2e", system->cName, body[iBody].cName, dTime); - sprintf(cOutI, "SeasonalClimateFiles/%s.%s.SeasonalFIn.%.2e", system->cName, + fvFormattedString(&cOutI, "SeasonalClimateFiles/%s.%s.SeasonalFIn.%.2e", system->cName, body[iBody].cName, dTime); - sprintf(cOutO, "SeasonalClimateFiles/%s.%s.SeasonalFOut.%.2e", + fvFormattedString(&cOutO, "SeasonalClimateFiles/%s.%s.SeasonalFOut.%.2e", system->cName, body[iBody].cName, dTime); - sprintf(cOutD, "SeasonalClimateFiles/%s.%s.SeasonalDivF.%.2e", + fvFormattedString(&cOutD, "SeasonalClimateFiles/%s.%s.SeasonalDivF.%.2e", system->cName, body[iBody].cName, dTime); } @@ -3590,7 +3589,7 @@ void WriteSeasonalIceBalance(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { - char cOut[3 * NAMELEN]; + char *cOut; FILE *fp; int iLat, iDay; double dTime; @@ -3609,17 +3608,17 @@ void WriteSeasonalIceBalance(BODY *body, CONTROL *control, OUTPUT *output, if (dTime == 0) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.SeasonalIceBalance.0", + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.SeasonalIceBalance.0", system->cName, body[iBody].cName); } else if (dTime < 10000) { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.SeasonalIceBalance.%.0f", + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.SeasonalIceBalance.%.0f", system->cName, body[iBody].cName, dTime); } else { - sprintf(cOut, "SeasonalClimateFiles/%s.%s.SeasonalIceBalance.%.2e", + fvFormattedString(&cOut, "SeasonalClimateFiles/%s.%s.SeasonalIceBalance.%.2e", system->cName, body[iBody].cName, dTime); } @@ -3909,9 +3908,9 @@ void WriteEnergyResW(BODY *body, CONTROL *control, OUTPUT *output, } void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_TGLOBAL].cName, "TGlobal"); - sprintf(output[OUT_TGLOBAL].cDescr, "Global mean temperature from POISE"); - sprintf(output[OUT_TGLOBAL].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TGLOBAL].cName, "TGlobal"); + fvFormattedString(&output[OUT_TGLOBAL].cDescr, "Global mean temperature from POISE"); + fvFormattedString(&output[OUT_TGLOBAL].cNeg, "Celsius"); output[OUT_TGLOBAL].bNeg = 1; // conversion is hardcoded in write function output[OUT_TGLOBAL].dNeg = 1; @@ -3919,77 +3918,77 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TGLOBAL].iModuleBit = POISE; fnWrite[OUT_TGLOBAL] = &WriteTGlobal; - sprintf(output[OUT_ALBEDOGLOBAL].cName, "AlbedoGlobal"); - sprintf(output[OUT_ALBEDOGLOBAL].cDescr, + fvFormattedString(&output[OUT_ALBEDOGLOBAL].cName, "AlbedoGlobal"); + fvFormattedString(&output[OUT_ALBEDOGLOBAL].cDescr, "Global mean bond albedo from POISE"); output[OUT_ALBEDOGLOBAL].bNeg = 0; output[OUT_ALBEDOGLOBAL].iNum = 1; output[OUT_ALBEDOGLOBAL].iModuleBit = POISE; fnWrite[OUT_ALBEDOGLOBAL] = &WriteAlbedoGlobal; - sprintf(output[OUT_SNOWBALL].cName, "Snowball"); - sprintf(output[OUT_SNOWBALL].cDescr, "Is the planet in a snowball state?"); + fvFormattedString(&output[OUT_SNOWBALL].cName, "Snowball"); + fvFormattedString(&output[OUT_SNOWBALL].cDescr, "Is the planet in a snowball state?"); output[OUT_SNOWBALL].bNeg = 0; output[OUT_SNOWBALL].iNum = 1; output[OUT_SNOWBALL].iModuleBit = POISE; fnWrite[OUT_SNOWBALL] = &WriteSnowball; - sprintf(output[OUT_TOTICEMASS].cName, "TotIceMass"); - sprintf(output[OUT_TOTICEMASS].cDescr, "Global total ice mass in ice sheets"); - sprintf(output[OUT_TOTICEMASS].cNeg, "kg"); + fvFormattedString(&output[OUT_TOTICEMASS].cName, "TotIceMass"); + fvFormattedString(&output[OUT_TOTICEMASS].cDescr, "Global total ice mass in ice sheets"); + fvFormattedString(&output[OUT_TOTICEMASS].cNeg, "kg"); output[OUT_TOTICEMASS].bNeg = 1; output[OUT_TOTICEMASS].iNum = 1; output[OUT_TOTICEMASS].iModuleBit = POISE; fnWrite[OUT_TOTICEMASS] = &WriteTotIceMass; - sprintf(output[OUT_TOTICEFLOW].cName, "TotIceFlow"); - sprintf(output[OUT_TOTICEFLOW].cDescr, + fvFormattedString(&output[OUT_TOTICEFLOW].cName, "TotIceFlow"); + fvFormattedString(&output[OUT_TOTICEFLOW].cDescr, "Global total ice flow in ice sheets (should = 0)"); - sprintf(output[OUT_TOTICEFLOW].cNeg, "kg"); + fvFormattedString(&output[OUT_TOTICEFLOW].cNeg, "kg"); output[OUT_TOTICEFLOW].bNeg = 1; output[OUT_TOTICEFLOW].iNum = 1; output[OUT_TOTICEFLOW].iModuleBit = POISE; fnWrite[OUT_TOTICEFLOW] = &WriteIceFlowTot; - sprintf(output[OUT_TOTICEBALANCE].cName, "TotIceBalance"); - sprintf(output[OUT_TOTICEBALANCE].cDescr, + fvFormattedString(&output[OUT_TOTICEBALANCE].cName, "TotIceBalance"); + fvFormattedString(&output[OUT_TOTICEBALANCE].cDescr, "Global total ice balance in ice sheets (this time step)"); - sprintf(output[OUT_TOTICEBALANCE].cNeg, "kg"); + fvFormattedString(&output[OUT_TOTICEBALANCE].cNeg, "kg"); output[OUT_TOTICEBALANCE].bNeg = 1; output[OUT_TOTICEBALANCE].iNum = 1; output[OUT_TOTICEBALANCE].iModuleBit = POISE; fnWrite[OUT_TOTICEBALANCE] = &WriteIceBalanceTot; - sprintf(output[OUT_FLUXINGLOBAL].cName, "FluxInGlobal"); - sprintf(output[OUT_FLUXINGLOBAL].cDescr, + fvFormattedString(&output[OUT_FLUXINGLOBAL].cName, "FluxInGlobal"); + fvFormattedString(&output[OUT_FLUXINGLOBAL].cDescr, "Global mean flux in (insol*(1-albedo)) from POISE"); /* Sadly, Russell, we must set the negative option to W/m^2. - sprintf(output[OUT_FLUXINGLOBAL].cNeg,"pirate-ninjas/m^2"); + fvFormattedString(output[OUT_FLUXINGLOBAL].cNeg,"pirate-ninjas/m^2"); output[OUT_FLUXINGLOBAL].dNeg = 1/40.55185; */ output[OUT_FLUXINGLOBAL].bNeg = 1; output[OUT_FLUXINGLOBAL].dNeg = 1; // Just in case - sprintf(output[OUT_FLUXINGLOBAL].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_FLUXINGLOBAL].cNeg, "W/m^2"); output[OUT_FLUXINGLOBAL].iNum = 1; output[OUT_FLUXINGLOBAL].iModuleBit = POISE; fnWrite[OUT_FLUXINGLOBAL] = &WriteFluxInGlobal; - sprintf(output[OUT_FLUXOUTGLOBAL].cName, "FluxOutGlobal"); - sprintf(output[OUT_FLUXOUTGLOBAL].cDescr, "Global mean flux out from POISE"); + fvFormattedString(&output[OUT_FLUXOUTGLOBAL].cName, "FluxOutGlobal"); + fvFormattedString(&output[OUT_FLUXOUTGLOBAL].cDescr, "Global mean flux out from POISE"); /* Here, too - sprintf(output[OUT_FLUXOUTGLOBAL].cNeg,"pirate-ninjas/m^2"); + fvFormattedString(output[OUT_FLUXOUTGLOBAL].cNeg,"pirate-ninjas/m^2"); output[OUT_FLUXOUTGLOBAL].dNeg = 1/40.55185; */ output[OUT_FLUXOUTGLOBAL].bNeg = 1; output[OUT_FLUXOUTGLOBAL].dNeg = 1; - sprintf(output[OUT_FLUXOUTGLOBAL].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_FLUXOUTGLOBAL].cNeg, "W/m^2"); output[OUT_FLUXOUTGLOBAL].iNum = 1; output[OUT_FLUXOUTGLOBAL].iModuleBit = POISE; fnWrite[OUT_FLUXOUTGLOBAL] = &WriteFluxOutGlobal; - sprintf(output[OUT_TEMPLAT].cName, "TempLat"); - sprintf(output[OUT_TEMPLAT].cDescr, "Surface temperature by latitude."); - sprintf(output[OUT_TEMPLAT].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TEMPLAT].cName, "TempLat"); + fvFormattedString(&output[OUT_TEMPLAT].cDescr, "Surface temperature by latitude."); + fvFormattedString(&output[OUT_TEMPLAT].cNeg, "Celsius"); output[OUT_TEMPLAT].bNeg = 1; // conversion is hardcoded in write function output[OUT_TEMPLAT].dNeg = 1; @@ -3998,10 +3997,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TEMPLAT].iModuleBit = POISE; fnWrite[OUT_TEMPLAT] = &WriteTempLat; - sprintf(output[OUT_TEMPMINLAT].cName, "TempMinLat"); - sprintf(output[OUT_TEMPMINLAT].cDescr, + fvFormattedString(&output[OUT_TEMPMINLAT].cName, "TempMinLat"); + fvFormattedString(&output[OUT_TEMPMINLAT].cDescr, "Minimum surface temperature over a year by latitude."); - sprintf(output[OUT_TEMPMINLAT].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TEMPMINLAT].cNeg, "Celsius"); output[OUT_TEMPMINLAT].bNeg = 1; // conversion is hardcoded in write function output[OUT_TEMPMINLAT].dNeg = 1; @@ -4010,10 +4009,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TEMPMINLAT].iModuleBit = POISE; fnWrite[OUT_TEMPMINLAT] = &WriteTempMinLat; - sprintf(output[OUT_TEMPMAXLAT].cName, "TempMaxLat"); - sprintf(output[OUT_TEMPMAXLAT].cDescr, + fvFormattedString(&output[OUT_TEMPMAXLAT].cName, "TempMaxLat"); + fvFormattedString(&output[OUT_TEMPMAXLAT].cDescr, "Maximum surface temperature over a year by latitude."); - sprintf(output[OUT_TEMPMAXLAT].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TEMPMAXLAT].cNeg, "Celsius"); output[OUT_TEMPMAXLAT].bNeg = 1; // conversion is hardcoded in write function output[OUT_TEMPMAXLAT].dNeg = 1; @@ -4022,10 +4021,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TEMPMAXLAT].iModuleBit = POISE; fnWrite[OUT_TEMPMAXLAT] = &WriteTempMaxLat; - sprintf(output[OUT_TEMPMAXLAND].cName, "TempMaxLand"); - sprintf(output[OUT_TEMPMAXLAND].cDescr, + fvFormattedString(&output[OUT_TEMPMAXLAND].cName, "TempMaxLand"); + fvFormattedString(&output[OUT_TEMPMAXLAND].cDescr, "Maximum surface temperature on land"); - sprintf(output[OUT_TEMPMAXLAND].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TEMPMAXLAND].cNeg, "Celsius"); output[OUT_TEMPMAXLAND].bNeg = 1; // conversion is hardcoded in write function output[OUT_TEMPMAXLAND].dNeg = 1; @@ -4034,10 +4033,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TEMPMAXLAND].iModuleBit = POISE; fnWrite[OUT_TEMPMAXLAND] = &WriteTempMaxLand; - sprintf(output[OUT_TEMPMAXWATER].cName, "TempMaxWater"); - sprintf(output[OUT_TEMPMAXWATER].cDescr, + fvFormattedString(&output[OUT_TEMPMAXWATER].cName, "TempMaxWater"); + fvFormattedString(&output[OUT_TEMPMAXWATER].cDescr, "Maximum surface temperature on water"); - sprintf(output[OUT_TEMPMAXWATER].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TEMPMAXWATER].cNeg, "Celsius"); output[OUT_TEMPMAXWATER].bNeg = 1; // conversion is hardcoded in write function output[OUT_TEMPMAXWATER].dNeg = 1; @@ -4046,10 +4045,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TEMPMAXWATER].iModuleBit = POISE; fnWrite[OUT_TEMPMAXWATER] = &WriteTempMaxWater; - sprintf(output[OUT_TEMPLANDLAT].cName, "TempLandLat"); - sprintf(output[OUT_TEMPLANDLAT].cDescr, + fvFormattedString(&output[OUT_TEMPLANDLAT].cName, "TempLandLat"); + fvFormattedString(&output[OUT_TEMPLANDLAT].cDescr, "Land surface temperature by latitude."); - sprintf(output[OUT_TEMPLANDLAT].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TEMPLANDLAT].cNeg, "Celsius"); output[OUT_TEMPLANDLAT].bNeg = 1; // conversion is hardcoded in write function output[OUT_TEMPLANDLAT].dNeg = 1; @@ -4057,10 +4056,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TEMPLANDLAT].bGrid = 1; fnWrite[OUT_TEMPLANDLAT] = &WriteTempLandLat; - sprintf(output[OUT_TEMPWATERLAT].cName, "TempWaterLat"); - sprintf(output[OUT_TEMPWATERLAT].cDescr, + fvFormattedString(&output[OUT_TEMPWATERLAT].cName, "TempWaterLat"); + fvFormattedString(&output[OUT_TEMPWATERLAT].cDescr, "Water surface temperature by latitude."); - sprintf(output[OUT_TEMPWATERLAT].cNeg, "Celsius"); + fvFormattedString(&output[OUT_TEMPWATERLAT].cNeg, "Celsius"); output[OUT_TEMPWATERLAT].bNeg = 1; // conversion is hardcoded in write function output[OUT_TEMPWATERLAT].dNeg = 1; @@ -4068,9 +4067,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_TEMPWATERLAT].bGrid = 1; fnWrite[OUT_TEMPWATERLAT] = &WriteTempWaterLat; - sprintf(output[OUT_LATITUDE].cName, "Latitude"); - sprintf(output[OUT_LATITUDE].cDescr, "Latitude."); - sprintf(output[OUT_LATITUDE].cNeg, "deg"); + fvFormattedString(&output[OUT_LATITUDE].cName, "Latitude"); + fvFormattedString(&output[OUT_LATITUDE].cDescr, "Latitude."); + fvFormattedString(&output[OUT_LATITUDE].cNeg, "deg"); output[OUT_LATITUDE].bNeg = 1; output[OUT_LATITUDE].dNeg = 1 / DEGRAD; output[OUT_LATITUDE].iNum = 1; @@ -4078,32 +4077,32 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_LATITUDE].iModuleBit = POISE; fnWrite[OUT_LATITUDE] = &WriteLatitude; - sprintf(output[OUT_ALBEDOLAT].cName, "AlbedoLat"); - sprintf(output[OUT_ALBEDOLAT].cDescr, "Surface albedo by latitude."); + fvFormattedString(&output[OUT_ALBEDOLAT].cName, "AlbedoLat"); + fvFormattedString(&output[OUT_ALBEDOLAT].cDescr, "Surface albedo by latitude."); output[OUT_ALBEDOLAT].bNeg = 0; output[OUT_ALBEDOLAT].iNum = 1; output[OUT_ALBEDOLAT].bGrid = 1; output[OUT_ALBEDOLAT].iModuleBit = POISE; fnWrite[OUT_ALBEDOLAT] = &WriteAlbedoLat; - sprintf(output[OUT_ALBEDOLANDLAT].cName, "AlbedoLandLat"); - sprintf(output[OUT_ALBEDOLANDLAT].cDescr, "Land surface albedo by latitude."); + fvFormattedString(&output[OUT_ALBEDOLANDLAT].cName, "AlbedoLandLat"); + fvFormattedString(&output[OUT_ALBEDOLANDLAT].cDescr, "Land surface albedo by latitude."); output[OUT_ALBEDOLANDLAT].bNeg = 0; output[OUT_ALBEDOLANDLAT].iNum = 1; output[OUT_ALBEDOLANDLAT].bGrid = 1; fnWrite[OUT_ALBEDOLANDLAT] = &WriteAlbedoLandLat; - sprintf(output[OUT_ALBEDOWATERLAT].cName, "AlbedoWaterLat"); - sprintf(output[OUT_ALBEDOWATERLAT].cDescr, + fvFormattedString(&output[OUT_ALBEDOWATERLAT].cName, "AlbedoWaterLat"); + fvFormattedString(&output[OUT_ALBEDOWATERLAT].cDescr, "Water surface albedo by latitude."); output[OUT_ALBEDOWATERLAT].bNeg = 0; output[OUT_ALBEDOWATERLAT].iNum = 1; output[OUT_ALBEDOWATERLAT].bGrid = 1; fnWrite[OUT_ALBEDOWATERLAT] = &WriteAlbedoWaterLat; - sprintf(output[OUT_ANNUALINSOL].cName, "AnnInsol"); - sprintf(output[OUT_ANNUALINSOL].cDescr, "Annual insolation by latitude."); - sprintf(output[OUT_ANNUALINSOL].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_ANNUALINSOL].cName, "AnnInsol"); + fvFormattedString(&output[OUT_ANNUALINSOL].cDescr, "Annual insolation by latitude."); + fvFormattedString(&output[OUT_ANNUALINSOL].cNeg, "W/m^2"); output[OUT_ANNUALINSOL].bNeg = 1; output[OUT_ANNUALINSOL].dNeg = 1 / 40.55185; output[OUT_ANNUALINSOL].iNum = 1; @@ -4111,9 +4110,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ANNUALINSOL].iModuleBit = POISE; fnWrite[OUT_ANNUALINSOL] = &WriteAnnualInsol; - sprintf(output[OUT_PEAKINSOL].cName, "PeakInsol"); - sprintf(output[OUT_PEAKINSOL].cDescr, "Peak insolation by latitude."); - sprintf(output[OUT_PEAKINSOL].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_PEAKINSOL].cName, "PeakInsol"); + fvFormattedString(&output[OUT_PEAKINSOL].cDescr, "Peak insolation by latitude."); + fvFormattedString(&output[OUT_PEAKINSOL].cNeg, "W/m^2"); output[OUT_PEAKINSOL].bNeg = 1; output[OUT_PEAKINSOL].dNeg = 1 / 40.55185; output[OUT_PEAKINSOL].iNum = 1; @@ -4121,10 +4120,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_PEAKINSOL].iModuleBit = POISE; fnWrite[OUT_PEAKINSOL] = &WritePeakInsol; - sprintf(output[OUT_FLUXMERID].cName, "FluxMerid"); - sprintf(output[OUT_FLUXMERID].cDescr, + fvFormattedString(&output[OUT_FLUXMERID].cName, "FluxMerid"); + fvFormattedString(&output[OUT_FLUXMERID].cDescr, "Total meridional (northward) flux by latitude"); - sprintf(output[OUT_FLUXMERID].cNeg, "PW"); + fvFormattedString(&output[OUT_FLUXMERID].cNeg, "PW"); output[OUT_FLUXMERID].bNeg = 1; output[OUT_FLUXMERID].dNeg = 1e-15; output[OUT_FLUXMERID].iNum = 1; @@ -4132,9 +4131,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_FLUXMERID].iModuleBit = POISE; fnWrite[OUT_FLUXMERID] = &WriteFluxMerid; - sprintf(output[OUT_FLUXIN].cName, "FluxIn"); - sprintf(output[OUT_FLUXIN].cDescr, "Incoming flux by latitude"); - sprintf(output[OUT_FLUXIN].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_FLUXIN].cName, "FluxIn"); + fvFormattedString(&output[OUT_FLUXIN].cDescr, "Incoming flux by latitude"); + fvFormattedString(&output[OUT_FLUXIN].cNeg, "W/m^2"); output[OUT_FLUXIN].bNeg = 1; output[OUT_FLUXIN].dNeg = 1; output[OUT_FLUXIN].iNum = 1; @@ -4142,9 +4141,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_FLUXIN].iModuleBit = POISE; fnWrite[OUT_FLUXIN] = &WriteFluxIn; - sprintf(output[OUT_FLUXOUT].cName, "FluxOut"); - sprintf(output[OUT_FLUXOUT].cDescr, "Outgoing (spaceward) flux by latitude"); - sprintf(output[OUT_FLUXOUT].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_FLUXOUT].cName, "FluxOut"); + fvFormattedString(&output[OUT_FLUXOUT].cDescr, "Outgoing (spaceward) flux by latitude"); + fvFormattedString(&output[OUT_FLUXOUT].cNeg, "W/m^2"); output[OUT_FLUXOUT].bNeg = 1; output[OUT_FLUXOUT].dNeg = 1; output[OUT_FLUXOUT].iNum = 1; @@ -4152,10 +4151,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_FLUXOUT].iModuleBit = POISE; fnWrite[OUT_FLUXOUT] = &WriteFluxOut; - sprintf(output[OUT_DIVFLUX].cName, "DivFlux"); - sprintf(output[OUT_DIVFLUX].cDescr, + fvFormattedString(&output[OUT_DIVFLUX].cName, "DivFlux"); + fvFormattedString(&output[OUT_DIVFLUX].cDescr, "Divergence of flux (flow into adjacent cells) by latitude"); - sprintf(output[OUT_DIVFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_DIVFLUX].cNeg, "W/m^2"); output[OUT_DIVFLUX].bNeg = 1; output[OUT_DIVFLUX].dNeg = 1; output[OUT_DIVFLUX].iNum = 1; @@ -4163,9 +4162,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_DIVFLUX].iModuleBit = POISE; fnWrite[OUT_DIVFLUX] = &WriteDivFlux; - sprintf(output[OUT_ICEMASS].cName, "IceMass"); - sprintf(output[OUT_ICEMASS].cDescr, "Mass of ice sheets/area by latitude"); - sprintf(output[OUT_ICEMASS].cNeg, "kg/m^2"); + fvFormattedString(&output[OUT_ICEMASS].cName, "IceMass"); + fvFormattedString(&output[OUT_ICEMASS].cDescr, "Mass of ice sheets/area by latitude"); + fvFormattedString(&output[OUT_ICEMASS].cNeg, "kg/m^2"); output[OUT_ICEMASS].bNeg = 1; output[OUT_ICEMASS].dNeg = 1; output[OUT_ICEMASS].iNum = 1; @@ -4173,9 +4172,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ICEMASS].iModuleBit = POISE; fnWrite[OUT_ICEMASS] = &WriteIceMass; - sprintf(output[OUT_ICEHEIGHT].cName, "IceHeight"); - sprintf(output[OUT_ICEHEIGHT].cDescr, "Height of ice sheets"); - sprintf(output[OUT_ICEHEIGHT].cNeg, "m"); + fvFormattedString(&output[OUT_ICEHEIGHT].cName, "IceHeight"); + fvFormattedString(&output[OUT_ICEHEIGHT].cDescr, "Height of ice sheets"); + fvFormattedString(&output[OUT_ICEHEIGHT].cNeg, "m"); output[OUT_ICEHEIGHT].bNeg = 1; output[OUT_ICEHEIGHT].dNeg = 1; output[OUT_ICEHEIGHT].iNum = 1; @@ -4183,10 +4182,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ICEHEIGHT].iModuleBit = POISE; fnWrite[OUT_ICEHEIGHT] = &WriteIceHeight; - sprintf(output[OUT_DICEMASSDT].cName, "DIceMassDt"); - sprintf(output[OUT_DICEMASSDT].cDescr, + fvFormattedString(&output[OUT_DICEMASSDT].cName, "DIceMassDt"); + fvFormattedString(&output[OUT_DICEMASSDT].cDescr, "derivative of mass of ice sheets/area by latitude"); - sprintf(output[OUT_DICEMASSDT].cNeg, "kg/m^2/s"); + fvFormattedString(&output[OUT_DICEMASSDT].cNeg, "kg/m^2/s"); output[OUT_DICEMASSDT].bNeg = 1; output[OUT_DICEMASSDT].dNeg = 1; output[OUT_DICEMASSDT].iNum = 1; @@ -4194,10 +4193,10 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_DICEMASSDT].iModuleBit = POISE; fnWrite[OUT_DICEMASSDT] = &WriteDIceMassDt; - sprintf(output[OUT_ICEACCUM].cName, "IceAccum"); - sprintf(output[OUT_ICEACCUM].cDescr, + fvFormattedString(&output[OUT_ICEACCUM].cName, "IceAccum"); + fvFormattedString(&output[OUT_ICEACCUM].cDescr, "Ice growth per orbit (accumulation only)"); - sprintf(output[OUT_ICEACCUM].cNeg, "m/orbit"); + fvFormattedString(&output[OUT_ICEACCUM].cNeg, "m/orbit"); output[OUT_ICEACCUM].bNeg = 1; output[OUT_ICEACCUM].dNeg = 1; output[OUT_ICEACCUM].iNum = 1; @@ -4205,9 +4204,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ICEACCUM].iModuleBit = POISE; fnWrite[OUT_ICEACCUM] = &WriteIceAccum; - sprintf(output[OUT_ICEABLATE].cName, "IceAblate"); - sprintf(output[OUT_ICEABLATE].cDescr, "ice decay per orbit (ablation only)"); - sprintf(output[OUT_ICEABLATE].cNeg, "m/orbit"); + fvFormattedString(&output[OUT_ICEABLATE].cName, "IceAblate"); + fvFormattedString(&output[OUT_ICEABLATE].cDescr, "ice decay per orbit (ablation only)"); + fvFormattedString(&output[OUT_ICEABLATE].cNeg, "m/orbit"); output[OUT_ICEABLATE].bNeg = 1; output[OUT_ICEABLATE].dNeg = 1; output[OUT_ICEABLATE].iNum = 1; @@ -4215,9 +4214,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ICEABLATE].iModuleBit = POISE; fnWrite[OUT_ICEABLATE] = &WriteIceAblate; - sprintf(output[OUT_ICEFLOW].cName, "IceFlow"); - sprintf(output[OUT_ICEFLOW].cDescr, "flow of ice sheets/area by latitude"); - sprintf(output[OUT_ICEFLOW].cNeg, "m/s"); + fvFormattedString(&output[OUT_ICEFLOW].cName, "IceFlow"); + fvFormattedString(&output[OUT_ICEFLOW].cDescr, "flow of ice sheets/area by latitude"); + fvFormattedString(&output[OUT_ICEFLOW].cNeg, "m/s"); output[OUT_ICEFLOW].bNeg = 1; output[OUT_ICEFLOW].dNeg = 1; output[OUT_ICEFLOW].iNum = 1; @@ -4225,9 +4224,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ICEFLOW].iModuleBit = POISE; fnWrite[OUT_ICEFLOW] = &WriteDIceMassDtFlow; - sprintf(output[OUT_BEDROCKH].cName, "BedrockH"); - sprintf(output[OUT_BEDROCKH].cDescr, "height/depth of bedrock"); - sprintf(output[OUT_BEDROCKH].cNeg, "m"); + fvFormattedString(&output[OUT_BEDROCKH].cName, "BedrockH"); + fvFormattedString(&output[OUT_BEDROCKH].cDescr, "height/depth of bedrock"); + fvFormattedString(&output[OUT_BEDROCKH].cNeg, "m"); output[OUT_BEDROCKH].bNeg = 1; output[OUT_BEDROCKH].dNeg = 1; output[OUT_BEDROCKH].iNum = 1; @@ -4235,9 +4234,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_BEDROCKH].iModuleBit = POISE; fnWrite[OUT_BEDROCKH] = &WriteBedrockH; - sprintf(output[OUT_ENERGYRESL].cName, "EnergyResL"); - sprintf(output[OUT_ENERGYRESL].cDescr, "Energy residual on land"); - sprintf(output[OUT_ENERGYRESL].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_ENERGYRESL].cName, "EnergyResL"); + fvFormattedString(&output[OUT_ENERGYRESL].cDescr, "Energy residual on land"); + fvFormattedString(&output[OUT_ENERGYRESL].cNeg, "W/m^2"); output[OUT_ENERGYRESL].bNeg = 1; output[OUT_ENERGYRESL].dNeg = 1; output[OUT_ENERGYRESL].iNum = 1; @@ -4245,9 +4244,9 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ENERGYRESL].iModuleBit = POISE; fnWrite[OUT_ENERGYRESL] = &WriteEnergyResL; - sprintf(output[OUT_ENERGYRESW].cName, "EnergyResW"); - sprintf(output[OUT_ENERGYRESW].cDescr, "Energy residual over water"); - sprintf(output[OUT_ENERGYRESW].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_ENERGYRESW].cName, "EnergyResW"); + fvFormattedString(&output[OUT_ENERGYRESW].cDescr, "Energy residual over water"); + fvFormattedString(&output[OUT_ENERGYRESW].cNeg, "W/m^2"); output[OUT_ENERGYRESW].bNeg = 1; output[OUT_ENERGYRESW].dNeg = 1; output[OUT_ENERGYRESW].iNum = 1; @@ -4255,196 +4254,196 @@ void InitializeOutputPoise(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_ENERGYRESW].iModuleBit = POISE; fnWrite[OUT_ENERGYRESW] = &WriteEnergyResW; - sprintf(output[OUT_SKIPSEAS].cName, "SkipSeas"); - sprintf(output[OUT_SKIPSEAS].cDescr, + fvFormattedString(&output[OUT_SKIPSEAS].cName, "SkipSeas"); + fvFormattedString(&output[OUT_SKIPSEAS].cDescr, "Is Seasonal model skipped due to RGH or snowball?"); output[OUT_SKIPSEAS].bNeg = 0; output[OUT_SKIPSEAS].iNum = 1; output[OUT_SKIPSEAS].iModuleBit = POISE; fnWrite[OUT_SKIPSEAS] = &WriteSkipSeas; - sprintf(output[OUT_PLANCKBAVG].cName, "PlanckBAvg"); - sprintf(output[OUT_PLANCKBAVG].cDescr, "Annually averaged Planck B coeff"); - sprintf(output[OUT_PLANCKBAVG].cNeg, "W/m^2/C"); + fvFormattedString(&output[OUT_PLANCKBAVG].cName, "PlanckBAvg"); + fvFormattedString(&output[OUT_PLANCKBAVG].cDescr, "Annually averaged Planck B coeff"); + fvFormattedString(&output[OUT_PLANCKBAVG].cNeg, "W/m^2/C"); output[OUT_PLANCKBAVG].bNeg = 0; output[OUT_PLANCKBAVG].iNum = 1; output[OUT_PLANCKBAVG].bGrid = 1; output[OUT_PLANCKBAVG].iModuleBit = POISE; fnWrite[OUT_PLANCKBAVG] = &WritePlanckBAvg; - sprintf(output[OUT_AREAICECOV].cName, "AreaIceCov"); - sprintf(output[OUT_AREAICECOV].cDescr, "Fractional area ice covered"); - sprintf(output[OUT_AREAICECOV].cNeg, " "); + fvFormattedString(&output[OUT_AREAICECOV].cName, "AreaIceCov"); + fvFormattedString(&output[OUT_AREAICECOV].cDescr, "Fractional area ice covered"); + fvFormattedString(&output[OUT_AREAICECOV].cNeg, " "); output[OUT_AREAICECOV].bNeg = 1; output[OUT_AREAICECOV].iNum = 1; output[OUT_AREAICECOV].iModuleBit = POISE; fnWrite[OUT_AREAICECOV] = &WriteAreaIceCov; - sprintf(output[OUT_NORTHICECAPLAND].cName, "IceCapNorthLand"); - sprintf(output[OUT_NORTHICECAPLAND].cDescr, + fvFormattedString(&output[OUT_NORTHICECAPLAND].cName, "IceCapNorthLand"); + fvFormattedString(&output[OUT_NORTHICECAPLAND].cDescr, "Does the planet have a northern polar ice cap on land?"); output[OUT_NORTHICECAPLAND].bNeg = 0; output[OUT_NORTHICECAPLAND].iNum = 1; output[OUT_NORTHICECAPLAND].iModuleBit = POISE; fnWrite[OUT_NORTHICECAPLAND] = &WriteIceCapNorthLand; - sprintf(output[OUT_NORTHICECAPSEA].cName, "IceCapNorthSea"); - sprintf(output[OUT_NORTHICECAPSEA].cDescr, + fvFormattedString(&output[OUT_NORTHICECAPSEA].cName, "IceCapNorthSea"); + fvFormattedString(&output[OUT_NORTHICECAPSEA].cDescr, "Does the planet have a northern polar sea ice cap"); output[OUT_NORTHICECAPSEA].bNeg = 0; output[OUT_NORTHICECAPSEA].iNum = 1; output[OUT_NORTHICECAPSEA].iModuleBit = POISE; fnWrite[OUT_NORTHICECAPSEA] = &WriteIceCapNorthSea; - sprintf(output[OUT_SOUTHICECAPLAND].cName, "IceCapSouthLand"); - sprintf(output[OUT_SOUTHICECAPLAND].cDescr, + fvFormattedString(&output[OUT_SOUTHICECAPLAND].cName, "IceCapSouthLand"); + fvFormattedString(&output[OUT_SOUTHICECAPLAND].cDescr, "Does the planet have a southern polar ice cap on land?"); output[OUT_SOUTHICECAPLAND].bNeg = 0; output[OUT_SOUTHICECAPLAND].iNum = 1; output[OUT_SOUTHICECAPLAND].iModuleBit = POISE; fnWrite[OUT_SOUTHICECAPLAND] = &WriteIceCapSouthLand; - sprintf(output[OUT_SOUTHICECAPSEA].cName, "IceCapSouthSea"); - sprintf(output[OUT_SOUTHICECAPSEA].cDescr, + fvFormattedString(&output[OUT_SOUTHICECAPSEA].cName, "IceCapSouthSea"); + fvFormattedString(&output[OUT_SOUTHICECAPSEA].cDescr, "Does the planet have a southern polar sea ice cap?"); output[OUT_SOUTHICECAPSEA].bNeg = 0; output[OUT_SOUTHICECAPSEA].iNum = 1; output[OUT_SOUTHICECAPSEA].iModuleBit = POISE; fnWrite[OUT_SOUTHICECAPSEA] = &WriteIceCapSouthSea; - sprintf(output[OUT_ICEBELTLAND].cName, "IceBeltLand"); - sprintf(output[OUT_ICEBELTLAND].cDescr, + fvFormattedString(&output[OUT_ICEBELTLAND].cName, "IceBeltLand"); + fvFormattedString(&output[OUT_ICEBELTLAND].cDescr, "Does the planet have a land ice belt?"); output[OUT_ICEBELTLAND].bNeg = 0; output[OUT_ICEBELTLAND].iNum = 1; output[OUT_ICEBELTLAND].iModuleBit = POISE; fnWrite[OUT_ICEBELTLAND] = &WriteIceBeltLand; - sprintf(output[OUT_ICEBELTSEA].cName, "IceBeltSea"); - sprintf(output[OUT_ICEBELTSEA].cDescr, + fvFormattedString(&output[OUT_ICEBELTSEA].cName, "IceBeltSea"); + fvFormattedString(&output[OUT_ICEBELTSEA].cDescr, "Does the planet have a sea ice belt?"); output[OUT_ICEBELTSEA].bNeg = 0; output[OUT_ICEBELTSEA].iNum = 1; output[OUT_ICEBELTSEA].iModuleBit = POISE; fnWrite[OUT_ICEBELTSEA] = &WriteIceBeltSea; - sprintf(output[OUT_SNOWBALLLAND].cName, "SnowballLand"); - sprintf(output[OUT_SNOWBALLLAND].cDescr, "Is all land covered in ice?"); + fvFormattedString(&output[OUT_SNOWBALLLAND].cName, "SnowballLand"); + fvFormattedString(&output[OUT_SNOWBALLLAND].cDescr, "Is all land covered in ice?"); output[OUT_SNOWBALLLAND].bNeg = 0; output[OUT_SNOWBALLLAND].iNum = 1; output[OUT_SNOWBALLLAND].iModuleBit = POISE; fnWrite[OUT_SNOWBALLLAND] = &WriteSnowballLand; - sprintf(output[OUT_SNOWBALLSEA].cName, "SnowballSea"); - sprintf(output[OUT_SNOWBALLSEA].cDescr, "Is all sea covered in ice?"); + fvFormattedString(&output[OUT_SNOWBALLSEA].cName, "SnowballSea"); + fvFormattedString(&output[OUT_SNOWBALLSEA].cDescr, "Is all sea covered in ice?"); output[OUT_SNOWBALLSEA].bNeg = 0; output[OUT_SNOWBALLSEA].iNum = 1; output[OUT_SNOWBALLSEA].iModuleBit = POISE; fnWrite[OUT_SNOWBALLSEA] = &WriteSnowballSea; - sprintf(output[OUT_ICEFREE].cName, "IceFree"); - sprintf(output[OUT_ICEFREE].cDescr, + fvFormattedString(&output[OUT_ICEFREE].cName, "IceFree"); + fvFormattedString(&output[OUT_ICEFREE].cDescr, "Is the planet free of sea and land ice?"); output[OUT_ICEFREE].bNeg = 0; output[OUT_ICEFREE].iNum = 1; output[OUT_ICEFREE].iModuleBit = POISE; fnWrite[OUT_ICEFREE] = &WriteIceFree; - sprintf(output[OUT_NORTHICECAPLATLAND].cName, "IceCapNorthLatLand"); - sprintf(output[OUT_NORTHICECAPLATLAND].cDescr, + fvFormattedString(&output[OUT_NORTHICECAPLATLAND].cName, "IceCapNorthLatLand"); + fvFormattedString(&output[OUT_NORTHICECAPLATLAND].cDescr, "Southernmost extent of northern land ice cap."); output[OUT_NORTHICECAPLATLAND].bNeg = 0; output[OUT_NORTHICECAPLATLAND].iNum = 1; output[OUT_NORTHICECAPLATLAND].iModuleBit = POISE; fnWrite[OUT_NORTHICECAPLATLAND] = &WriteIceCapNorthLatLand; - sprintf(output[OUT_NORTHICECAPLATLAND].cLongDescr, + fvFormattedString(&output[OUT_NORTHICECAPLATLAND].cLongDescr, "If a northern land ice cap is present, return the latitude of its " "southern edge. If not present, return +100 degrees."); - sprintf(output[OUT_NORTHICECAPLATSEA].cName, "IceCapNorthLatSea"); - sprintf(output[OUT_NORTHICECAPLATSEA].cDescr, + fvFormattedString(&output[OUT_NORTHICECAPLATSEA].cName, "IceCapNorthLatSea"); + fvFormattedString(&output[OUT_NORTHICECAPLATSEA].cDescr, "Southernmost extent of northern sea ice cap."); output[OUT_NORTHICECAPLATSEA].bNeg = 0; output[OUT_NORTHICECAPLATSEA].iNum = 1; output[OUT_NORTHICECAPLATSEA].iModuleBit = POISE; fnWrite[OUT_NORTHICECAPLATSEA] = &WriteIceCapNorthLatSea; - sprintf(output[OUT_NORTHICECAPLATSEA].cLongDescr, + fvFormattedString(&output[OUT_NORTHICECAPLATSEA].cLongDescr, "If a northern sea ice cap is present, return the latitude of its " "southern edge. If not present, return +100 degrees."); - sprintf(output[OUT_SOUTHICECAPLATLAND].cName, "IceCapSouthLatLand"); - sprintf(output[OUT_SOUTHICECAPLATLAND].cDescr, + fvFormattedString(&output[OUT_SOUTHICECAPLATLAND].cName, "IceCapSouthLatLand"); + fvFormattedString(&output[OUT_SOUTHICECAPLATLAND].cDescr, "Northernmost extent of southern land ice cap."); output[OUT_SOUTHICECAPLATLAND].bNeg = 0; output[OUT_SOUTHICECAPLATLAND].iNum = 1; output[OUT_SOUTHICECAPLATLAND].iModuleBit = POISE; fnWrite[OUT_SOUTHICECAPLATLAND] = &WriteIceCapSouthLatLand; - sprintf(output[OUT_SOUTHICECAPLATLAND].cLongDescr, + fvFormattedString(&output[OUT_SOUTHICECAPLATLAND].cLongDescr, "If a southern land ice cap is present, return the latitude of its " "northern edge. If not present, return -100 degrees."); - sprintf(output[OUT_SOUTHICECAPLATSEA].cName, "IceCapSouthLatSea"); - sprintf(output[OUT_SOUTHICECAPLATSEA].cDescr, + fvFormattedString(&output[OUT_SOUTHICECAPLATSEA].cName, "IceCapSouthLatSea"); + fvFormattedString(&output[OUT_SOUTHICECAPLATSEA].cDescr, "Northernmost extent of southern sea ice cap."); output[OUT_SOUTHICECAPLATSEA].bNeg = 0; output[OUT_SOUTHICECAPLATSEA].iNum = 1; output[OUT_SOUTHICECAPLATSEA].iModuleBit = POISE; fnWrite[OUT_SOUTHICECAPLATSEA] = &WriteIceCapSouthLatLand; - sprintf(output[OUT_SOUTHICECAPLATSEA].cLongDescr, + fvFormattedString(&output[OUT_SOUTHICECAPLATSEA].cLongDescr, "If a southern sea ice cap is present, return the latitude of its " "northern edge. If not present, return -100 degrees."); - sprintf(output[OUT_NORTHICEBELTLATLAND].cName, "IceBeltNorthLatLand"); - sprintf(output[OUT_NORTHICEBELTLATLAND].cDescr, + fvFormattedString(&output[OUT_NORTHICEBELTLATLAND].cName, "IceBeltNorthLatLand"); + fvFormattedString(&output[OUT_NORTHICEBELTLATLAND].cDescr, "Northernmost extent of land ice belt."); output[OUT_NORTHICEBELTLATLAND].bNeg = 0; output[OUT_NORTHICEBELTLATLAND].iNum = 1; output[OUT_NORTHICEBELTLATLAND].iModuleBit = POISE; fnWrite[OUT_NORTHICEBELTLATLAND] = &WriteIceBeltNorthLatLand; - sprintf( - output[OUT_NORTHICEBELTLATLAND].cLongDescr, + fvFormattedString( + &output[OUT_NORTHICEBELTLATLAND].cLongDescr, "If a land ice belt is present, return the latitude of its northern " "edge. " "If not present, return 0. Note that some ice belts may in fact have a " "northern edge at the equator."); - sprintf(output[OUT_NORTHICEBELTLATSEA].cName, "IceBeltNorthLatSea"); - sprintf(output[OUT_NORTHICEBELTLATSEA].cDescr, + fvFormattedString(&output[OUT_NORTHICEBELTLATSEA].cName, "IceBeltNorthLatSea"); + fvFormattedString(&output[OUT_NORTHICEBELTLATSEA].cDescr, "Northernmost extent of sea ice belt."); output[OUT_NORTHICEBELTLATSEA].bNeg = 0; output[OUT_NORTHICEBELTLATSEA].iNum = 1; output[OUT_NORTHICEBELTLATSEA].iModuleBit = POISE; fnWrite[OUT_NORTHICEBELTLATSEA] = &WriteIceBeltNorthLatSea; - sprintf( - output[OUT_NORTHICEBELTLATSEA].cLongDescr, + fvFormattedString( + &output[OUT_NORTHICEBELTLATSEA].cLongDescr, "If a sea ice belt is present, return the latitude of its northern " "edge. " "If not present, return 0. Note that some ice belts may in fact have a " "northern edge at the equator."); - sprintf(output[OUT_SOUTHICEBELTLATLAND].cName, "IceBeltSouthLatLand"); - sprintf(output[OUT_SOUTHICEBELTLATLAND].cDescr, + fvFormattedString(&output[OUT_SOUTHICEBELTLATLAND].cName, "IceBeltSouthLatLand"); + fvFormattedString(&output[OUT_SOUTHICEBELTLATLAND].cDescr, "Southernmost extent of land ice belt."); output[OUT_SOUTHICEBELTLATLAND].bNeg = 0; output[OUT_SOUTHICEBELTLATLAND].iNum = 1; output[OUT_SOUTHICEBELTLATLAND].iModuleBit = POISE; fnWrite[OUT_SOUTHICEBELTLATLAND] = &WriteIceBeltSouthLatLand; - sprintf( - output[OUT_SOUTHICEBELTLATLAND].cLongDescr, + fvFormattedString( + &output[OUT_SOUTHICEBELTLATLAND].cLongDescr, "If a land ice belt is present, return the latitude of its southern " "edge. " "If not present, return 0. Note that some ice belts may in fact have a " "southern edge at the equator."); - sprintf(output[OUT_SOUTHICEBELTLATSEA].cName, "IceBeltSouthLatSea"); - sprintf(output[OUT_SOUTHICEBELTLATSEA].cDescr, + fvFormattedString(&output[OUT_SOUTHICEBELTLATSEA].cName, "IceBeltSouthLatSea"); + fvFormattedString(&output[OUT_SOUTHICEBELTLATSEA].cDescr, "Southernmost extent of sea ice belt."); output[OUT_SOUTHICEBELTLATSEA].bNeg = 0; output[OUT_SOUTHICEBELTLATSEA].iNum = 1; output[OUT_SOUTHICEBELTLATSEA].iModuleBit = POISE; fnWrite[OUT_SOUTHICEBELTLATSEA] = &WriteIceBeltSouthLatSea; - sprintf( - output[OUT_SOUTHICEBELTLATSEA].cLongDescr, + fvFormattedString( + &output[OUT_SOUTHICEBELTLATSEA].cLongDescr, "If a sea ice belt is present, return the latitude of its southern " "edge. " "If not present, return 0. Note that some ice belts may in fact have a " diff --git a/src/radheat.c b/src/radheat.c index 27381ddf4..282daa0f2 100644 --- a/src/radheat.c +++ b/src/radheat.c @@ -1769,553 +1769,553 @@ void fvReadHaltRadPower(BODY *body, CONTROL *control, FILES *files, void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { /* 26Al */ - sprintf(options[OPT_26ALMASSMAN].cName, "d26AlMassMan"); - sprintf(options[OPT_26ALMASSMAN].cDescr, "Initial Mantle Mass of 26Al"); - sprintf(options[OPT_26ALMASSMAN].cDefault, "0"); - sprintf(options[OPT_26ALMASSMAN].cDimension, "mass"); + fvFormattedString(&options[OPT_26ALMASSMAN].cName, "d26AlMassMan"); + 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; options[OPT_26ALMASSMAN].bMultiFile = 1; options[OPT_26ALMASSMAN].dNeg = MEARTH; options[OPT_26ALMASSMAN].dDefault = 0; - sprintf(options[OPT_26ALMASSMAN].cNeg, "Mearth"); + fvFormattedString(&options[OPT_26ALMASSMAN].cNeg, "Mearth"); fnRead[OPT_26ALMASSMAN] = &fvRead26AlMassMan; - sprintf(options[OPT_26ALMASSCORE].cName, "d26AlMassCore"); - sprintf(options[OPT_26ALMASSCORE].cDescr, "Initial Core Mass of 26Al"); - sprintf(options[OPT_26ALMASSCORE].cDefault, "0"); - sprintf(options[OPT_26ALMASSCORE].cDimension, "mass"); + fvFormattedString(&options[OPT_26ALMASSCORE].cName, "d26AlMassCore"); + 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; options[OPT_26ALMASSCORE].bMultiFile = 1; options[OPT_26ALMASSCORE].dNeg = MEARTH; options[OPT_26ALMASSCORE].dDefault = 0; - sprintf(options[OPT_26ALMASSCORE].cNeg, "Mearth"); + fvFormattedString(&options[OPT_26ALMASSCORE].cNeg, "Mearth"); fnRead[OPT_26ALMASSCORE] = &fvRead26AlMassCore; - sprintf(options[OPT_26ALNUMMAN].cName, "d26AlNumMan"); - sprintf(options[OPT_26ALNUMMAN].cDescr, + fvFormattedString(&options[OPT_26ALNUMMAN].cName, "d26AlNumMan"); + fvFormattedString(&options[OPT_26ALNUMMAN].cDescr, "Initial Mantle Number of 26Al Atoms"); - sprintf(options[OPT_26ALNUMMAN].cDefault, "0"); - sprintf(options[OPT_26ALNUMMAN].cDimension, "mass"); + 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; - sprintf(options[OPT_26ALNUMMAN].cNeg, "Primordial Earth 26Al Number"); + fvFormattedString(&options[OPT_26ALNUMMAN].cNeg, "Primordial Earth 26Al Number"); fnRead[OPT_26ALNUMMAN] = &fvRead26AlNumMan; - sprintf(options[OPT_26ALNUMCORE].cName, "d26AlNumCore"); - sprintf(options[OPT_26ALNUMCORE].cDescr, "Initial Core Number of 26Al Atoms"); - sprintf(options[OPT_26ALNUMCORE].cDefault, "0"); - sprintf(options[OPT_26ALNUMCORE].cDimension, "nd"); + fvFormattedString(&options[OPT_26ALNUMCORE].cName, "d26AlNumCore"); + 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; - sprintf(options[OPT_26ALNUMCORE].cNeg, "Primordial Earth 26Al Number"); + fvFormattedString(&options[OPT_26ALNUMCORE].cNeg, "Primordial Earth 26Al Number"); fnRead[OPT_26ALNUMCORE] = &fvRead26AlNumCore; - sprintf(options[OPT_26ALPOWERMAN].cName, "d26AlPowerMan"); - sprintf(options[OPT_26ALPOWERMAN].cDescr, + fvFormattedString(&options[OPT_26ALPOWERMAN].cName, "d26AlPowerMan"); + fvFormattedString(&options[OPT_26ALPOWERMAN].cDescr, "Initial Mantle Power Production from 26Al Atoms"); - sprintf(options[OPT_26ALPOWERMAN].cDefault, "0"); - sprintf(options[OPT_26ALPOWERMAN].cDimension, "energy/time"); + fvFormattedString(&options[OPT_26ALPOWERMAN].cDefault, "0"); + fvFormattedString(&options[OPT_26ALPOWERMAN].cDimension, "energy/time"); options[OPT_26ALPOWERMAN].iType = 2; options[OPT_26ALPOWERMAN].bMultiFile = 1; options[OPT_26ALPOWERMAN].dNeg = EPOWERMAN26AL; // Earth's POWER of 26Al options[OPT_26ALPOWERMAN].dDefault = 0; - sprintf(options[OPT_26ALPOWERMAN].cNeg, "TW"); + fvFormattedString(&options[OPT_26ALPOWERMAN].cNeg, "TW"); fnRead[OPT_26ALPOWERMAN] = &fvRead26AlPowerMan; - sprintf(options[OPT_26ALPOWERCORE].cName, "d26AlPowerCore"); - sprintf(options[OPT_26ALPOWERCORE].cDescr, + fvFormattedString(&options[OPT_26ALPOWERCORE].cName, "d26AlPowerCore"); + fvFormattedString(&options[OPT_26ALPOWERCORE].cDescr, "Initial Core Power Production from 26Al Atoms"); - sprintf(options[OPT_26ALPOWERCORE].cDefault, "0"); - sprintf(options[OPT_26ALPOWERCORE].cDimension, "energy/time"); + fvFormattedString(&options[OPT_26ALPOWERCORE].cDefault, "0"); + fvFormattedString(&options[OPT_26ALPOWERCORE].cDimension, "energy/time"); options[OPT_26ALPOWERCORE].iType = 2; options[OPT_26ALPOWERCORE].bMultiFile = 1; options[OPT_26ALPOWERCORE].dNeg = EPOWERCORE26AL; // Earth's POWER of 26Al options[OPT_26ALPOWERCORE].dDefault = 0; - sprintf(options[OPT_26ALPOWERCORE].cNeg, "TW"); + fvFormattedString(&options[OPT_26ALPOWERCORE].cNeg, "TW"); fnRead[OPT_26ALPOWERCORE] = &fvRead26AlPowerCore; /* 40K */ - sprintf(options[OPT_40KMASSMAN].cName, "d40KMassMan"); - sprintf(options[OPT_40KMASSMAN].cDescr, "Initial Mantle Mass of 40K"); - sprintf(options[OPT_40KMASSMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KMASSMAN].cDimension, "mass"); + fvFormattedString(&options[OPT_40KMASSMAN].cName, "d40KMassMan"); + 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; options[OPT_40KMASSMAN].bMultiFile = 1; options[OPT_40KMASSMAN].dNeg = EMASSMAN40K; options[OPT_40KMASSMAN].dDefault = EMASSMAN40K; - sprintf(options[OPT_40KMASSMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KMASSMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_40KMASSMAN] = &fvRead40KMassMan; - sprintf(options[OPT_40KMASSCORE].cName, "d40KMassCore"); - sprintf(options[OPT_40KMASSCORE].cDescr, "Initial Core Mass of 40K"); - sprintf(options[OPT_40KMASSCORE].cDefault, "Primordial Earth Units"); - sprintf(options[OPT_40KMASSCORE].cDimension, "mass"); + 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].cDimension, "mass"); options[OPT_40KMASSCORE].iType = 2; options[OPT_40KMASSCORE].bMultiFile = 1; options[OPT_40KMASSCORE].dNeg = EMASSCORE40K; options[OPT_40KMASSCORE].dDefault = EMASSCORE40K; - sprintf(options[OPT_40KMASSCORE].cNeg, "Primordial Earth"); + fvFormattedString(&options[OPT_40KMASSCORE].cNeg, "Primordial Earth"); fnRead[OPT_40KMASSCORE] = &fvRead40KMassCore; - sprintf(options[OPT_40KMASSCRUST].cName, "d40KMassCrust"); - sprintf(options[OPT_40KMASSCRUST].cDescr, "Initial Crust Mass of 40K"); - sprintf(options[OPT_40KMASSCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KMASSCRUST].cDimension, "mass"); + fvFormattedString(&options[OPT_40KMASSCRUST].cName, "d40KMassCrust"); + 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; options[OPT_40KMASSCRUST].bMultiFile = 1; options[OPT_40KMASSCRUST].dNeg = EMASSCRUST40K; options[OPT_40KMASSCRUST].dDefault = EMASSCRUST40K; - sprintf(options[OPT_40KMASSCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KMASSCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_40KMASSCRUST] = &fvRead40KMassCrust; - sprintf(options[OPT_40KNUMMAN].cName, "d40KNumMan"); - sprintf(options[OPT_40KNUMMAN].cDescr, "Initial Mantle Number of 40K Atoms"); - sprintf(options[OPT_40KNUMMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KNUMMAN].cDimension, "nd"); + fvFormattedString(&options[OPT_40KNUMMAN].cName, "d40KNumMan"); + 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; options[OPT_40KNUMMAN].bMultiFile = 1; options[OPT_40KNUMMAN].dNeg = ENUMMAN40K; options[OPT_40KNUMMAN].dDefault = ENUMMAN40K; - sprintf(options[OPT_40KNUMMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KNUMMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_40KNUMMAN] = &fvRead40KNumMan; - sprintf(options[OPT_40KNUMCORE].cName, "d40KNumCore"); - sprintf(options[OPT_40KNUMCORE].cDescr, "Initial Core Number of 40K Atoms"); - sprintf(options[OPT_40KNUMCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KNUMCORE].cDimension, "nd"); + fvFormattedString(&options[OPT_40KNUMCORE].cName, "d40KNumCore"); + 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; options[OPT_40KNUMCORE].bMultiFile = 1; options[OPT_40KNUMCORE].dNeg = ENUMCORE40K; options[OPT_40KNUMCORE].dDefault = ENUMCORE40K; - sprintf(options[OPT_40KNUMCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KNUMCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_40KNUMCORE] = &fvRead40KNumCore; - sprintf(options[OPT_40KNUMCRUST].cName, "d40KNumCrust"); - sprintf(options[OPT_40KNUMCRUST].cDescr, "Initial Crust Number of 40K Atoms"); - sprintf(options[OPT_40KNUMCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KNUMCRUST].cDimension, "nd"); + fvFormattedString(&options[OPT_40KNUMCRUST].cName, "d40KNumCrust"); + 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; options[OPT_40KNUMCRUST].bMultiFile = 1; options[OPT_40KNUMCRUST].dNeg = ENUMCRUST40K; options[OPT_40KNUMCRUST].dDefault = ENUMCRUST40K; - sprintf(options[OPT_40KNUMCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KNUMCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_40KNUMCRUST] = &fvRead40KNumCrust; - sprintf(options[OPT_40KPOWERMAN].cName, "d40KPowerMan"); - sprintf(options[OPT_40KPOWERMAN].cDescr, + fvFormattedString(&options[OPT_40KPOWERMAN].cName, "d40KPowerMan"); + fvFormattedString(&options[OPT_40KPOWERMAN].cDescr, "Initial Mantle Power Production from 40K Atoms"); - sprintf(options[OPT_40KPOWERMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KPOWERMAN].cDimension, "energy/time"); + fvFormattedString(&options[OPT_40KPOWERMAN].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_40KPOWERMAN].cDimension, "energy/time"); options[OPT_40KPOWERMAN].iType = 2; options[OPT_40KPOWERMAN].bMultiFile = 1; options[OPT_40KPOWERMAN].dNeg = EPOWERMAN40K; // Earth's POWER of 40K options[OPT_40KPOWERMAN].dDefault = EPOWERMAN40K; - sprintf(options[OPT_40KPOWERMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KPOWERMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_40KPOWERMAN] = &fvRead40KPowerMan; - sprintf(options[OPT_40KPOWERCORE].cName, "d40KPowerCore"); - sprintf(options[OPT_40KPOWERCORE].cDescr, + fvFormattedString(&options[OPT_40KPOWERCORE].cName, "d40KPowerCore"); + fvFormattedString(&options[OPT_40KPOWERCORE].cDescr, "Initial Core Power Production from 40K Atoms"); - sprintf(options[OPT_40KPOWERCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KPOWERCORE].cDimension, "energy/time"); + fvFormattedString(&options[OPT_40KPOWERCORE].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_40KPOWERCORE].cDimension, "energy/time"); options[OPT_40KPOWERCORE].iType = 2; options[OPT_40KPOWERCORE].bMultiFile = 1; options[OPT_40KPOWERCORE].dNeg = EPOWERCORE40K; // Earth's POWER of 40K options[OPT_40KPOWERCORE].dDefault = EPOWERCORE40K; - sprintf(options[OPT_40KPOWERCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KPOWERCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_40KPOWERCORE] = &fvRead40KPowerCore; - sprintf(options[OPT_40KPOWERCRUST].cName, "d40KPowerCrust"); - sprintf(options[OPT_40KPOWERCRUST].cDescr, + fvFormattedString(&options[OPT_40KPOWERCRUST].cName, "d40KPowerCrust"); + fvFormattedString(&options[OPT_40KPOWERCRUST].cDescr, "Initial Crust Power Production from 40K Atoms"); - sprintf(options[OPT_40KPOWERCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_40KPOWERCRUST].cDimension, "energy/time"); + fvFormattedString(&options[OPT_40KPOWERCRUST].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_40KPOWERCRUST].cDimension, "energy/time"); options[OPT_40KPOWERCRUST].iType = 2; options[OPT_40KPOWERCRUST].bMultiFile = 1; options[OPT_40KPOWERCRUST].dNeg = EPOWERCRUST40K; // Earth's POWER of 40K options[OPT_40KPOWERCRUST].dDefault = EPOWERCRUST40K; - sprintf(options[OPT_40KPOWERCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KPOWERCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_40KPOWERCRUST] = &fvRead40KPowerCrust; /* 232Th */ - sprintf(options[OPT_232THMASSMAN].cName, "d232ThMassMan"); - sprintf(options[OPT_232THMASSMAN].cDescr, "Initial Mass of 232Th"); - sprintf(options[OPT_232THMASSMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THMASSMAN].cDimension, "mass"); + fvFormattedString(&options[OPT_232THMASSMAN].cName, "d232ThMassMan"); + fvFormattedString(&options[OPT_232THMASSMAN].cDescr, "Initial Mass of 232Th"); + fvFormattedString(&options[OPT_232THMASSMAN].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_232THMASSMAN].cDimension, "mass"); options[OPT_232THMASSMAN].iType = 2; options[OPT_232THMASSMAN].bMultiFile = 1; options[OPT_232THMASSMAN].dNeg = EMASSMAN232TH; options[OPT_232THMASSMAN].dDefault = EMASSMAN232TH; - sprintf(options[OPT_232THMASSMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THMASSMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_232THMASSMAN] = &fvRead232ThMassMan; - sprintf(options[OPT_232THNUMMAN].cName, "d232ThNumMan"); - sprintf(options[OPT_232THNUMMAN].cDescr, "Initial Number of 232Th Atoms"); - sprintf(options[OPT_232THNUMMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THNUMMAN].cDimension, "nd"); + fvFormattedString(&options[OPT_232THNUMMAN].cName, "d232ThNumMan"); + 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; options[OPT_232THNUMMAN].bMultiFile = 1; options[OPT_232THNUMMAN].dNeg = ENUMMAN232TH; options[OPT_232THNUMMAN].dDefault = ENUMMAN232TH; - sprintf(options[OPT_232THNUMMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THNUMMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_232THNUMMAN] = &fvRead232ThNumMan; - sprintf(options[OPT_232THPOWERMAN].cName, "d232ThPowerMan"); - sprintf(options[OPT_232THPOWERMAN].cDescr, + fvFormattedString(&options[OPT_232THPOWERMAN].cName, "d232ThPowerMan"); + fvFormattedString(&options[OPT_232THPOWERMAN].cDescr, "Initial Power Production from 232Th Atoms"); - sprintf(options[OPT_232THPOWERMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THPOWERMAN].cDimension, "energy/time"); + fvFormattedString(&options[OPT_232THPOWERMAN].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_232THPOWERMAN].cDimension, "energy/time"); options[OPT_232THPOWERMAN].iType = 2; options[OPT_232THPOWERMAN].bMultiFile = 1; options[OPT_232THPOWERMAN].dNeg = EPOWERMAN232TH; // 1e12*1e-7; // cgs options[OPT_232THPOWERMAN].dDefault = EPOWERMAN232TH; - sprintf(options[OPT_232THPOWERMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THPOWERMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_232THPOWERMAN] = &fvRead232ThPowerMan; - sprintf(options[OPT_232THMASSCORE].cName, "d232ThMassCore"); - sprintf(options[OPT_232THMASSCORE].cDescr, "Initial Core Mass of 232Th"); - sprintf(options[OPT_232THMASSCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THMASSCORE].cDimension, "mass"); + fvFormattedString(&options[OPT_232THMASSCORE].cName, "d232ThMassCore"); + 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; options[OPT_232THMASSCORE].bMultiFile = 1; options[OPT_232THMASSCORE].dNeg = EMASSCORE232TH; options[OPT_232THMASSCORE].dDefault = EMASSCORE232TH; - sprintf(options[OPT_232THMASSCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THMASSCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_232THMASSCORE] = &fvRead232ThMassCore; - sprintf(options[OPT_232THNUMCORE].cName, "d232ThNumCore"); - sprintf(options[OPT_232THNUMCORE].cDescr, + fvFormattedString(&options[OPT_232THNUMCORE].cName, "d232ThNumCore"); + fvFormattedString(&options[OPT_232THNUMCORE].cDescr, "Initial Core Number of 232Th Atoms"); - sprintf(options[OPT_232THNUMCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THNUMCORE].cDimension, "nd"); + fvFormattedString(&options[OPT_232THNUMCORE].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_232THNUMCORE].cDimension, "nd"); options[OPT_232THNUMCORE].iType = 2; options[OPT_232THNUMCORE].bMultiFile = 1; options[OPT_232THNUMCORE].dNeg = ENUMCORE232TH; options[OPT_232THNUMCORE].dDefault = ENUMCORE232TH; - sprintf(options[OPT_232THNUMCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THNUMCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_232THNUMCORE] = &fvRead232ThNumCore; - sprintf(options[OPT_232THPOWERCORE].cName, "d232ThPowerCore"); - sprintf(options[OPT_232THPOWERCORE].cDescr, + fvFormattedString(&options[OPT_232THPOWERCORE].cName, "d232ThPowerCore"); + fvFormattedString(&options[OPT_232THPOWERCORE].cDescr, "Initial Core Power Production from 232Th Atoms"); - sprintf(options[OPT_232THPOWERCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THPOWERCORE].cDimension, "energy/time"); + 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; - sprintf(options[OPT_232THPOWERCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THPOWERCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_232THPOWERCORE] = &fvRead232ThPowerCore; - sprintf(options[OPT_232THMASSCRUST].cName, "d232ThMassCrust"); - sprintf(options[OPT_232THMASSCRUST].cDescr, "Initial Crust Mass of 232Th"); - sprintf(options[OPT_232THMASSCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THMASSCRUST].cDimension, "mass"); + fvFormattedString(&options[OPT_232THMASSCRUST].cName, "d232ThMassCrust"); + 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; - sprintf(options[OPT_232THMASSCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THMASSCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_232THMASSCRUST] = &fvRead232ThMassCrust; - sprintf(options[OPT_232THNUMCRUST].cName, "d232ThNumCrust"); - sprintf(options[OPT_232THNUMCRUST].cDescr, + fvFormattedString(&options[OPT_232THNUMCRUST].cName, "d232ThNumCrust"); + fvFormattedString(&options[OPT_232THNUMCRUST].cDescr, "Initial Crust Number of 232Th Atoms"); - sprintf(options[OPT_232THNUMCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THNUMCRUST].cDimension, "nd"); + fvFormattedString(&options[OPT_232THNUMCRUST].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_232THNUMCRUST].cDimension, "nd"); options[OPT_232THNUMCRUST].iType = 2; options[OPT_232THNUMCRUST].bMultiFile = 1; options[OPT_232THNUMCRUST].dNeg = ENUMCRUST232TH; options[OPT_232THNUMCRUST].dDefault = ENUMCRUST232TH; - sprintf(options[OPT_232THNUMCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THNUMCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_232THNUMCRUST] = &fvRead232ThNumCrust; - sprintf(options[OPT_232THPOWERCRUST].cName, "d232ThPowerCrust"); - sprintf(options[OPT_232THPOWERCRUST].cDescr, + fvFormattedString(&options[OPT_232THPOWERCRUST].cName, "d232ThPowerCrust"); + fvFormattedString(&options[OPT_232THPOWERCRUST].cDescr, "Initial Crust Power Production from 232Th Atoms"); - sprintf(options[OPT_232THPOWERCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_232THPOWERCRUST].cDimension, "energy/time"); + 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; - sprintf(options[OPT_232THPOWERCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THPOWERCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_232THPOWERCRUST] = &fvRead232ThPowerCrust; /* 238U*/ - sprintf(options[OPT_238UMASSMAN].cName, "d238UMassMan"); - sprintf(options[OPT_238UMASSMAN].cDescr, "Initial Mass of 238U"); - sprintf(options[OPT_238UMASSMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UMASSMAN].cDimension, "mass"); + fvFormattedString(&options[OPT_238UMASSMAN].cName, "d238UMassMan"); + fvFormattedString(&options[OPT_238UMASSMAN].cDescr, "Initial Mass of 238U"); + fvFormattedString(&options[OPT_238UMASSMAN].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_238UMASSMAN].cDimension, "mass"); options[OPT_238UMASSMAN].iType = 2; options[OPT_238UMASSMAN].bMultiFile = 1; options[OPT_238UMASSMAN].dNeg = EMASSMAN238U; options[OPT_238UMASSMAN].dDefault = EMASSMAN238U; - sprintf(options[OPT_238UMASSMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UMASSMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_238UMASSMAN] = &fvRead238UMassMan; - sprintf(options[OPT_238UNUMMAN].cName, "d238UNumMan"); - sprintf(options[OPT_238UNUMMAN].cDescr, "Initial Number of 238U Atoms"); - sprintf(options[OPT_238UNUMMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UNUMMAN].cDimension, "nd"); + fvFormattedString(&options[OPT_238UNUMMAN].cName, "d238UNumMan"); + 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; options[OPT_238UNUMMAN].iType = 2; options[OPT_238UNUMMAN].bMultiFile = 1; options[OPT_238UNUMMAN].dNeg = ENUMMAN238U; options[OPT_238UNUMMAN].dDefault = ENUMMAN238U; - sprintf(options[OPT_238UNUMMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UNUMMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_238UNUMMAN] = &fvRead238UNumMan; - sprintf(options[OPT_238UPOWERMAN].cName, "d238UPowerMan"); // section added + fvFormattedString(&options[OPT_238UPOWERMAN].cName, "d238UPowerMan"); // section added // PED - sprintf(options[OPT_238UPOWERMAN].cDescr, + fvFormattedString(&options[OPT_238UPOWERMAN].cDescr, "Initial Power Production from 238U Atoms"); - sprintf(options[OPT_238UPOWERMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UPOWERMAN].cDimension, "energy/time"); + fvFormattedString(&options[OPT_238UPOWERMAN].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_238UPOWERMAN].cDimension, "energy/time"); options[OPT_238UPOWERMAN].iType = 2; options[OPT_238UPOWERMAN].bMultiFile = 1; options[OPT_238UPOWERMAN].dNeg = EPOWERMAN238U; // 1e12*1e-7; // cgs options[OPT_238UPOWERMAN].dDefault = EPOWERMAN238U; - sprintf(options[OPT_238UPOWERMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UPOWERMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_238UPOWERMAN] = &fvRead238UPowerMan; - sprintf(options[OPT_238UMASSCORE].cName, "d238UMassCore"); - sprintf(options[OPT_238UMASSCORE].cDescr, "Initial Core Mass of 238U"); - sprintf(options[OPT_238UMASSCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UMASSCORE].cDimension, "mass"); + fvFormattedString(&options[OPT_238UMASSCORE].cName, "d238UMassCore"); + 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; options[OPT_238UMASSCORE].bMultiFile = 1; options[OPT_238UMASSCORE].dNeg = EMASSCORE238U; options[OPT_238UMASSCORE].dDefault = EMASSCORE238U; - sprintf(options[OPT_238UMASSCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UMASSCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_238UMASSCORE] = &fvRead238UMassCore; - sprintf(options[OPT_238UNUMCORE].cName, "d238UNumCore"); - sprintf(options[OPT_238UNUMCORE].cDescr, "Initial Core Number of 238U Atoms"); - sprintf(options[OPT_238UNUMCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UNUMCORE].cDimension, "nd"); + fvFormattedString(&options[OPT_238UNUMCORE].cName, "d238UNumCore"); + 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; options[OPT_238UNUMCORE].iType = 2; options[OPT_238UNUMCORE].bMultiFile = 1; options[OPT_238UNUMCORE].dNeg = ENUMCORE238U; options[OPT_238UNUMCORE].dDefault = ENUMCORE238U; - sprintf(options[OPT_238UNUMCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UNUMCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_238UNUMCORE] = &fvRead238UNumCore; - sprintf(options[OPT_238UPOWERCORE].cName, + fvFormattedString(&options[OPT_238UPOWERCORE].cName, "d238UPowerCore"); // section added PED - sprintf(options[OPT_238UPOWERCORE].cDescr, + fvFormattedString(&options[OPT_238UPOWERCORE].cDescr, "Initial Core Power Production from 238U Atoms"); - sprintf(options[OPT_238UPOWERCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UPOWERCORE].cDimension, "energy/time"); + fvFormattedString(&options[OPT_238UPOWERCORE].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_238UPOWERCORE].cDimension, "energy/time"); options[OPT_238UPOWERCORE].iType = 2; options[OPT_238UPOWERCORE].bMultiFile = 1; options[OPT_238UPOWERCORE].dNeg = EPOWERCORE238U; // 1e12*1e-7; // cgs options[OPT_238UPOWERCORE].dDefault = EPOWERCORE238U; - sprintf(options[OPT_238UPOWERCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UPOWERCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_238UPOWERCORE] = &fvRead238UPowerCore; - sprintf(options[OPT_238UMASSCRUST].cName, "d238UMassCrust"); - sprintf(options[OPT_238UMASSCRUST].cDescr, "Initial Crust Mass of 238U"); - sprintf(options[OPT_238UMASSCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UMASSCRUST].cDimension, "mass"); + fvFormattedString(&options[OPT_238UMASSCRUST].cName, "d238UMassCrust"); + 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; options[OPT_238UMASSCRUST].bMultiFile = 1; options[OPT_238UMASSCRUST].dNeg = EMASSCRUST238U; options[OPT_238UMASSCRUST].dDefault = EMASSCRUST238U; - sprintf(options[OPT_238UMASSCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UMASSCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_238UMASSCRUST] = &fvRead238UMassCrust; - sprintf(options[OPT_238UNUMCRUST].cName, "d238UNumCrust"); - sprintf(options[OPT_238UNUMCRUST].cDescr, + fvFormattedString(&options[OPT_238UNUMCRUST].cName, "d238UNumCrust"); + fvFormattedString(&options[OPT_238UNUMCRUST].cDescr, "Initial Crust Number of 238U Atoms"); - sprintf(options[OPT_238UNUMCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UNUMCRUST].cDimension, "nd"); + fvFormattedString(&options[OPT_238UNUMCRUST].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_238UNUMCRUST].cDimension, "nd"); options[OPT_238UNUMCRUST].dDefault = 0; options[OPT_238UNUMCRUST].iType = 2; options[OPT_238UNUMCRUST].bMultiFile = 1; options[OPT_238UNUMCRUST].dNeg = ENUMCRUST238U; options[OPT_238UNUMCRUST].dDefault = ENUMCRUST238U; - sprintf(options[OPT_238UNUMCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UNUMCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_238UNUMCRUST] = &fvRead238UNumCrust; - sprintf(options[OPT_238UPOWERCRUST].cName, + fvFormattedString(&options[OPT_238UPOWERCRUST].cName, "d238UPowerCrust"); // section added PED - sprintf(options[OPT_238UPOWERCRUST].cDescr, + fvFormattedString(&options[OPT_238UPOWERCRUST].cDescr, "Initial Crust Power Production from 238U Atoms"); - sprintf(options[OPT_238UPOWERCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_238UPOWERCRUST].cDimension, "energy/time"); + 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; - sprintf(options[OPT_238UPOWERCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UPOWERCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_238UPOWERCRUST] = &fvRead238UPowerCrust; /* 235U */ - sprintf(options[OPT_235UMASSMAN].cName, "d235UMassMan"); // PED - sprintf(options[OPT_235UMASSMAN].cDescr, "Initial Mass of 235U"); - sprintf(options[OPT_235UMASSMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UMASSMAN].cDimension, "nd"); + fvFormattedString(&options[OPT_235UMASSMAN].cName, "d235UMassMan"); // PED + fvFormattedString(&options[OPT_235UMASSMAN].cDescr, "Initial Mass of 235U"); + fvFormattedString(&options[OPT_235UMASSMAN].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_235UMASSMAN].cDimension, "nd"); options[OPT_235UMASSMAN].iType = 2; options[OPT_235UMASSMAN].bMultiFile = 1; options[OPT_235UMASSMAN].dNeg = EMASSMAN235U; options[OPT_235UMASSMAN].dDefault = EMASSMAN235U; - sprintf(options[OPT_235UMASSMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UMASSMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_235UMASSMAN] = &fvRead235UMassMan; - sprintf(options[OPT_235UNUMMAN].cName, "d235UNumMan"); // PED - sprintf(options[OPT_235UNUMMAN].cDescr, "Initial Number of 235U Atoms"); - sprintf(options[OPT_235UNUMMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UNUMMAN].cDimension, "nd"); + fvFormattedString(&options[OPT_235UNUMMAN].cName, "d235UNumMan"); // PED + 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; options[OPT_235UNUMMAN].bMultiFile = 1; options[OPT_235UNUMMAN].dNeg = ENUMMAN235U; options[OPT_235UNUMMAN].dDefault = ENUMMAN235U; - sprintf(options[OPT_235UNUMMAN].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UNUMMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_235UNUMMAN] = &fvRead235UNumMan; - sprintf(options[OPT_235UPOWERMAN].cName, "d235UPowerMan"); // section added + fvFormattedString(&options[OPT_235UPOWERMAN].cName, "d235UPowerMan"); // section added // PED - sprintf(options[OPT_235UPOWERMAN].cDescr, + fvFormattedString(&options[OPT_235UPOWERMAN].cDescr, "Initial Power Production from 235U Atoms"); - sprintf(options[OPT_235UPOWERMAN].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UPOWERMAN].cDimension, "energy/time"); + fvFormattedString(&options[OPT_235UPOWERMAN].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_235UPOWERMAN].cDimension, "energy/time"); options[OPT_235UPOWERMAN].iType = 2; options[OPT_235UPOWERMAN].bMultiFile = 1; options[OPT_235UPOWERMAN].dNeg = EPOWERMAN235U; options[OPT_235UPOWERMAN].dDefault = EPOWERMAN235U; - sprintf(options[OPT_235UPOWERMAN].cNeg, "Primoridal Earth Units"); + fvFormattedString(&options[OPT_235UPOWERMAN].cNeg, "Primoridal Earth Units"); fnRead[OPT_235UPOWERMAN] = &fvRead235UPowerMan; - sprintf(options[OPT_235UMASSCORE].cName, "d235UMassCore"); - sprintf(options[OPT_235UMASSCORE].cDescr, "Initial Core Mass of 235U"); - sprintf(options[OPT_235UMASSCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UMASSCORE].cDimension, "mass"); + fvFormattedString(&options[OPT_235UMASSCORE].cName, "d235UMassCore"); + 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; options[OPT_235UMASSCORE].bMultiFile = 1; options[OPT_235UMASSCORE].dNeg = EMASSCORE235U; options[OPT_235UMASSCORE].dDefault = EMASSCORE235U; - sprintf(options[OPT_235UMASSCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UMASSCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_235UMASSCORE] = &fvRead235UMassCore; - sprintf(options[OPT_235UNUMCORE].cName, "d235UNumCore"); - sprintf(options[OPT_235UNUMCORE].cDescr, "Initial Core Number of 235U Atoms"); - sprintf(options[OPT_235UNUMCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UNUMCORE].cDimension, "nd"); + fvFormattedString(&options[OPT_235UNUMCORE].cName, "d235UNumCore"); + 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; options[OPT_235UNUMCORE].bMultiFile = 1; options[OPT_235UNUMCORE].dNeg = ENUMCORE235U; options[OPT_235UNUMCORE].dDefault = ENUMCORE235U; - sprintf(options[OPT_235UNUMCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UNUMCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_235UNUMCORE] = &fvRead235UNumCore; - sprintf(options[OPT_235UPOWERCORE].cName, + fvFormattedString(&options[OPT_235UPOWERCORE].cName, "d235UPowerCore"); // section added PED - sprintf(options[OPT_235UPOWERCORE].cDescr, + fvFormattedString(&options[OPT_235UPOWERCORE].cDescr, "Initial Core Power Production from 235U Atoms"); - sprintf(options[OPT_235UPOWERCORE].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UPOWERCORE].cDimension, "energy/time"); + fvFormattedString(&options[OPT_235UPOWERCORE].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_235UPOWERCORE].cDimension, "energy/time"); options[OPT_235UPOWERCORE].iType = 2; options[OPT_235UPOWERCORE].bMultiFile = 1; options[OPT_235UPOWERCORE].dNeg = EPOWERCORE235U; options[OPT_235UPOWERCORE].dDefault = EPOWERCORE235U; - sprintf(options[OPT_235UPOWERCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UPOWERCORE].cNeg, "Primordial Earth Units"); fnRead[OPT_235UPOWERCORE] = &fvRead235UPowerCore; - sprintf(options[OPT_235UMASSCRUST].cName, "d235UMassCrust"); - sprintf(options[OPT_235UMASSCRUST].cDescr, "Initial Crust Mass of 235U"); - sprintf(options[OPT_235UMASSCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UMASSCRUST].cDimension, "mass"); + fvFormattedString(&options[OPT_235UMASSCRUST].cName, "d235UMassCrust"); + 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; options[OPT_235UMASSCRUST].bMultiFile = 1; options[OPT_235UMASSCRUST].dNeg = EMASSCRUST235U; options[OPT_235UMASSCRUST].dDefault = EMASSCRUST235U; - sprintf(options[OPT_235UMASSCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UMASSCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_235UMASSCRUST] = &fvRead235UMassCrust; - sprintf(options[OPT_235UNUMCRUST].cName, "d235UNumCrust"); - sprintf(options[OPT_235UNUMCRUST].cDescr, + fvFormattedString(&options[OPT_235UNUMCRUST].cName, "d235UNumCrust"); + fvFormattedString(&options[OPT_235UNUMCRUST].cDescr, "Initial Crust Number of 235U Atoms"); - sprintf(options[OPT_235UNUMCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UNUMCRUST].cDimension, "nd"); + fvFormattedString(&options[OPT_235UNUMCRUST].cDefault, "Primordial Earth"); + fvFormattedString(&options[OPT_235UNUMCRUST].cDimension, "nd"); options[OPT_235UNUMCRUST].iType = 2; options[OPT_235UNUMCRUST].bMultiFile = 1; options[OPT_235UNUMCRUST].dNeg = ENUMCRUST235U; options[OPT_235UNUMCRUST].dDefault = ENUMCRUST235U; - sprintf(options[OPT_235UNUMCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UNUMCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_235UNUMCRUST] = &fvRead235UNumCrust; - sprintf(options[OPT_235UPOWERCRUST].cName, + fvFormattedString(&options[OPT_235UPOWERCRUST].cName, "d235UPowerCrust"); // section added PED - sprintf(options[OPT_235UPOWERCRUST].cDescr, + fvFormattedString(&options[OPT_235UPOWERCRUST].cDescr, "Initial Crust Power Production from 235U Atoms"); - sprintf(options[OPT_235UPOWERCRUST].cDefault, "Primordial Earth"); - sprintf(options[OPT_235UPOWERCRUST].cDimension, "energy/time"); + 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; - sprintf(options[OPT_235UPOWERCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UPOWERCRUST].cNeg, "Primordial Earth Units"); fnRead[OPT_235UPOWERCRUST] = &fvRead235UPowerCrust; - sprintf(options[OPT_HALT40KPOWER].cName, "dHalt40KPower"); - sprintf(options[OPT_HALT40KPOWER].cDescr, "Minimum 40K Power"); - sprintf(options[OPT_HALT40KPOWER].cDefault, "0"); - sprintf(options[OPT_HALT40KPOWER].cDimension, "energy/time"); + fvFormattedString(&options[OPT_HALT40KPOWER].cName, "dHalt40KPower"); + fvFormattedString(&options[OPT_HALT40KPOWER].cDescr, "Minimum 40K Power"); + fvFormattedString(&options[OPT_HALT40KPOWER].cDefault, "0"); + fvFormattedString(&options[OPT_HALT40KPOWER].cDimension, "energy/time"); options[OPT_HALT40KPOWER].iType = 2; options[OPT_HALT40KPOWER].bMultiFile = 1; options[OPT_HALT40KPOWER].dNeg = 1e12; // TW options[OPT_HALT40KPOWER].dDefault = 0; - sprintf(options[OPT_HALT40KPOWER].cNeg, "TW"); + fvFormattedString(&options[OPT_HALT40KPOWER].cNeg, "TW"); fnRead[OPT_HALT40KPOWER] = &fvReadHalt40KPower; - sprintf(options[OPT_HALT232THPOWER].cName, "dHalt232ThPower"); - sprintf(options[OPT_HALT232THPOWER].cDescr, "Minimum 232Th Power"); - sprintf(options[OPT_HALT232THPOWER].cDefault, "0"); - sprintf(options[OPT_HALT232THPOWER].cDimension, "energy/time"); + fvFormattedString(&options[OPT_HALT232THPOWER].cName, "dHalt232ThPower"); + fvFormattedString(&options[OPT_HALT232THPOWER].cDescr, "Minimum 232Th Power"); + fvFormattedString(&options[OPT_HALT232THPOWER].cDefault, "0"); + fvFormattedString(&options[OPT_HALT232THPOWER].cDimension, "energy/time"); options[OPT_HALT232THPOWER].iType = 2; options[OPT_HALT232THPOWER].bMultiFile = 1; options[OPT_HALT232THPOWER].dNeg = 1e12; // TW options[OPT_HALT232THPOWER].dDefault = 0; - sprintf(options[OPT_HALT232THPOWER].cNeg, "TW"); + fvFormattedString(&options[OPT_HALT232THPOWER].cNeg, "TW"); fnRead[OPT_HALT232THPOWER] = &fvReadHalt232ThPower; - sprintf(options[OPT_HALT235UPOWER].cName, "dHalt235UPower"); - sprintf(options[OPT_HALT235UPOWER].cDescr, "Minimum 235U Power"); - sprintf(options[OPT_HALT235UPOWER].cDefault, "0"); - sprintf(options[OPT_HALT235UPOWER].cDimension, "energy/time"); + fvFormattedString(&options[OPT_HALT235UPOWER].cName, "dHalt235UPower"); + fvFormattedString(&options[OPT_HALT235UPOWER].cDescr, "Minimum 235U Power"); + fvFormattedString(&options[OPT_HALT235UPOWER].cDefault, "0"); + fvFormattedString(&options[OPT_HALT235UPOWER].cDimension, "energy/time"); options[OPT_HALT235UPOWER].iType = 2; options[OPT_HALT235UPOWER].bMultiFile = 1; options[OPT_HALT235UPOWER].dNeg = 1e12; // TW options[OPT_HALT235UPOWER].dDefault = 0; - sprintf(options[OPT_HALT235UPOWER].cNeg, "TW"); + fvFormattedString(&options[OPT_HALT235UPOWER].cNeg, "TW"); fnRead[OPT_HALT235UPOWER] = &fvReadHalt235UPower; - sprintf(options[OPT_HALT238UPOWER].cName, "dHalt238UPower"); - sprintf(options[OPT_HALT238UPOWER].cDescr, "Minimum 238U Power"); - sprintf(options[OPT_HALT238UPOWER].cDefault, "0"); - sprintf(options[OPT_HALT238UPOWER].cDimension, "energy/time"); + fvFormattedString(&options[OPT_HALT238UPOWER].cName, "dHalt238UPower"); + fvFormattedString(&options[OPT_HALT238UPOWER].cDescr, "Minimum 238U Power"); + fvFormattedString(&options[OPT_HALT238UPOWER].cDefault, "0"); + fvFormattedString(&options[OPT_HALT238UPOWER].cDimension, "energy/time"); options[OPT_HALT238UPOWER].iType = 2; options[OPT_HALT238UPOWER].bMultiFile = 1; options[OPT_HALT238UPOWER].dNeg = 1e12; // TW options[OPT_HALT238UPOWER].dDefault = 0; - sprintf(options[OPT_HALT238UPOWER].cNeg, "TW"); + fvFormattedString(&options[OPT_HALT238UPOWER].cNeg, "TW"); fnRead[OPT_HALT238UPOWER] = &fvReadHalt238UPower; - sprintf(options[OPT_HALTRADPOWER].cName, "dHaltRadPower"); - sprintf(options[OPT_HALTRADPOWER].cDescr, "Minimum Total Radgiogenic Power"); - sprintf(options[OPT_HALTRADPOWER].cDefault, "0"); - sprintf(options[OPT_HALTRADPOWER].cDimension, "energy/time"); + fvFormattedString(&options[OPT_HALTRADPOWER].cName, "dHaltRadPower"); + 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; options[OPT_HALTRADPOWER].bMultiFile = 1; options[OPT_HALTRADPOWER].dNeg = 1e12; // TW options[OPT_HALTRADPOWER].dDefault = 0; - sprintf(options[OPT_HALTRADPOWER].cNeg, "TW"); + fvFormattedString(&options[OPT_HALTRADPOWER].cNeg, "TW"); fnRead[OPT_HALTRADPOWER] = &fvReadHaltRadPower; } /** @@ -5427,28 +5427,28 @@ void fvWriteSurfEnFluxRadTotal(BODY *body, CONTROL *control, OUTPUT *output, */ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Aluminum */ - sprintf(output[OUT_26ALPOWERMAN].cName, "26AlPowerMan"); - sprintf(output[OUT_26ALPOWERMAN].cDescr, "Total Power Generated by 26Al"); - sprintf(output[OUT_26ALPOWERMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_26ALPOWERMAN].cName, "26AlPowerMan"); + 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; output[OUT_26ALPOWERMAN].iNum = 1; output[OUT_26ALPOWERMAN].iModuleBit = RADHEAT; fnWrite[OUT_26ALPOWERMAN] = &fvWrite26AlPowerMan; - sprintf(output[OUT_26ALENFLUX].cName, "26AlEnFlux"); - sprintf(output[OUT_26ALENFLUX].cDescr, "Surface Energy Flux from 26Al"); - sprintf(output[OUT_26ALENFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_26ALENFLUX].cName, "26AlEnFlux"); + 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; output[OUT_26ALENFLUX].iNum = 1; output[OUT_26ALENFLUX].iModuleBit = RADHEAT; fnWrite[OUT_26ALENFLUX] = &fvWrite26AlEnFlux; - sprintf(output[OUT_26ALDPOWERDT].cName, "D26AlPowerDt"); - sprintf(output[OUT_26ALDPOWERDT].cDescr, + fvFormattedString(&output[OUT_26ALDPOWERDT].cName, "D26AlPowerDt"); + fvFormattedString(&output[OUT_26ALDPOWERDT].cDescr, "Time Rate of Change of 26Al Power Generation"); - sprintf(output[OUT_26ALDPOWERDT].cNeg, "TW/Gyr"); + fvFormattedString(&output[OUT_26ALDPOWERDT].cNeg, "TW/Gyr"); output[OUT_26ALDPOWERDT].bNeg = 1; output[OUT_26ALDPOWERDT].dNeg = 1e9 / 1e12; //[yr/Gyr*TW/W] //1e12/1e9; /* XXX */ @@ -5456,37 +5456,37 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_26ALDPOWERDT].iModuleBit = RADHEAT; fnWrite[OUT_26ALDPOWERDT] = &fvWriteD26AlPowerDt; - sprintf(output[OUT_26ALDNUMDT].cName, "D26AlNumManDt"); - sprintf(output[OUT_26ALDNUMDT].cDescr, + fvFormattedString(&output[OUT_26ALDNUMDT].cName, "D26AlNumManDt"); + fvFormattedString(&output[OUT_26ALDNUMDT].cDescr, "Time Rate of Change of 26Al Heat Generation"); - sprintf(output[OUT_26ALDNUMDT].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_26ALDNUMDT].cNeg, "/Gyr"); output[OUT_26ALDNUMDT].bNeg = 1; output[OUT_26ALDNUMDT].dNeg = YEARSEC * 1e9; //[s/Gyr] output[OUT_26ALDNUMDT].iNum = 1; output[OUT_26ALDNUMDT].iModuleBit = RADHEAT; fnWrite[OUT_26ALDNUMDT] = &fvWriteD26AlNumDt; - sprintf(output[OUT_26ALTIME].cName, "26AlTimescale"); - sprintf(output[OUT_26ALTIME].cDescr, "Timescale for 26Al Power Generation"); - sprintf(output[OUT_26ALTIME].cNeg, "Gyr"); + fvFormattedString(&output[OUT_26ALTIME].cName, "26AlTimescale"); + 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; output[OUT_26ALTIME].iNum = 1; output[OUT_26ALTIME].iModuleBit = RADHEAT; fnWrite[OUT_26ALTIME] = &fvWrite26AlTimescale; - sprintf(output[OUT_26ALMASSMAN].cName, "26AlMassMan"); - sprintf(output[OUT_26ALMASSMAN].cDescr, "Mass of Mantle in 26Al"); - sprintf(output[OUT_26ALMASSMAN].cNeg, "Mearth"); + fvFormattedString(&output[OUT_26ALMASSMAN].cName, "26AlMassMan"); + fvFormattedString(&output[OUT_26ALMASSMAN].cDescr, "Mass of Mantle in 26Al"); + fvFormattedString(&output[OUT_26ALMASSMAN].cNeg, "Mearth"); output[OUT_26ALMASSMAN].bNeg = 1; output[OUT_26ALMASSMAN].dNeg = 1. / MEARTH; //[EMass/kg] output[OUT_26ALMASSMAN].iNum = 1; output[OUT_26ALMASSMAN].iModuleBit = RADHEAT; fnWrite[OUT_26ALMASSMAN] = &fvWrite26AlMassMan; - sprintf(output[OUT_26ALNUMMAN].cName, "26AlNumMan"); - sprintf(output[OUT_26ALNUMMAN].cDescr, "Total Number of 26Al Atoms"); - sprintf(output[OUT_26ALNUMMAN].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_26ALNUMMAN].bNeg = 1; output[OUT_26ALNUMMAN].dNeg = EMASSMAN26AL / MASS26AL; output[OUT_26ALNUMMAN].iNum = 1; @@ -5494,37 +5494,37 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_26ALNUMMAN] = &fvWrite26AlNumMan; /* Core */ - sprintf(output[OUT_26ALPOWERCORE].cName, "26AlPowerCore"); - sprintf(output[OUT_26ALPOWERCORE].cDescr, "Core Power Generated by 26Al"); - sprintf(output[OUT_26ALPOWERCORE].cNeg, "TW"); + fvFormattedString(&output[OUT_26ALPOWERCORE].cName, "26AlPowerCore"); + 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] output[OUT_26ALPOWERCORE].iNum = 1; output[OUT_26ALPOWERCORE].iModuleBit = RADHEAT; fnWrite[OUT_26ALPOWERCORE] = &fvWrite26AlPowerCore; - sprintf(output[OUT_26ALMASSCORE].cName, "26AlMassCore"); - sprintf(output[OUT_26ALMASSCORE].cDescr, "Mass of core in 26Al"); - sprintf(output[OUT_26ALMASSCORE].cNeg, "Mearth"); + fvFormattedString(&output[OUT_26ALMASSCORE].cName, "26AlMassCore"); + fvFormattedString(&output[OUT_26ALMASSCORE].cDescr, "Mass of core in 26Al"); + fvFormattedString(&output[OUT_26ALMASSCORE].cNeg, "Mearth"); output[OUT_26ALMASSCORE].bNeg = 1; output[OUT_26ALMASSCORE].dNeg = 1. / MEARTH; output[OUT_26ALMASSCORE].iNum = 1; output[OUT_26ALMASSCORE].iModuleBit = RADHEAT; fnWrite[OUT_26ALMASSCORE] = &fvWrite26AlMassCore; - sprintf(output[OUT_26ALNUMCORE].cName, "26AlNumCore"); - sprintf(output[OUT_26ALNUMCORE].cDescr, "Total Core Number of 26Al Atoms"); - sprintf(output[OUT_26ALNUMCORE].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_26ALNUMCORE].bNeg = 1; output[OUT_26ALNUMCORE].dNeg = EMASSCORE26AL / MASS26AL; output[OUT_26ALNUMCORE].iNum = 1; output[OUT_26ALNUMCORE].iModuleBit = RADHEAT; fnWrite[OUT_26ALNUMCORE] = &fvWrite26AlNumCore; - sprintf(output[OUT_26ALPOWERTOT].cName, "26AlPowerTotal"); - sprintf(output[OUT_26ALPOWERTOT].cDescr, + fvFormattedString(&output[OUT_26ALPOWERTOT].cName, "26AlPowerTotal"); + fvFormattedString(&output[OUT_26ALPOWERTOT].cDescr, "Total Power from Decay of 26Al Atoms"); - sprintf(output[OUT_26ALPOWERTOT].cNeg, "TW"); + fvFormattedString(&output[OUT_26ALPOWERTOT].cNeg, "TW"); output[OUT_26ALPOWERTOT].bNeg = 1; output[OUT_26ALPOWERTOT].dNeg = 1e-12; output[OUT_26ALPOWERTOT].iNum = 1; @@ -5532,65 +5532,65 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_26ALPOWERTOT] = &fvWrite26AlPowerTot; /* Potassium */ - sprintf(output[OUT_40KENFLUX].cName, "40KEnFlux"); - sprintf(output[OUT_40KENFLUX].cDescr, "Surface Energy Flux from 40K"); - sprintf(output[OUT_40KENFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_40KENFLUX].cName, "40KEnFlux"); + 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; output[OUT_40KENFLUX].iNum = 1; output[OUT_40KENFLUX].iModuleBit = RADHEAT; fnWrite[OUT_40KENFLUX] = &fvWrite40KEnFlux; - sprintf(output[OUT_40KDPOWERDT].cName, "D40KPowerDt"); - sprintf(output[OUT_40KDPOWERDT].cDescr, + fvFormattedString(&output[OUT_40KDPOWERDT].cName, "D40KPowerDt"); + fvFormattedString(&output[OUT_40KDPOWERDT].cDescr, "Time Rate of Change of 40K Power Generation"); - sprintf(output[OUT_40KDPOWERDT].cNeg, "TW/Gyr"); + fvFormattedString(&output[OUT_40KDPOWERDT].cNeg, "TW/Gyr"); output[OUT_40KDPOWERDT].bNeg = 1; output[OUT_40KDPOWERDT].dNeg = 1e9 / 1e12; /* :) */ output[OUT_40KDPOWERDT].iNum = 1; output[OUT_40KDPOWERDT].iModuleBit = RADHEAT; fnWrite[OUT_40KDPOWERDT] = &fvWriteD40KPowerDt; - sprintf(output[OUT_40KDNUMDT].cName, "D40KNumManDt"); - sprintf(output[OUT_40KDNUMDT].cDescr, + fvFormattedString(&output[OUT_40KDNUMDT].cName, "D40KNumManDt"); + fvFormattedString(&output[OUT_40KDNUMDT].cDescr, "Time Rate of Change of 40K Heat Generation"); - sprintf(output[OUT_40KDNUMDT].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_40KDNUMDT].cNeg, "/Gyr"); output[OUT_40KDNUMDT].bNeg = 1; output[OUT_40KDNUMDT].dNeg = YEARSEC * 1e9; output[OUT_40KDNUMDT].iNum = 1; output[OUT_40KDNUMDT].iModuleBit = RADHEAT; fnWrite[OUT_40KDNUMDT] = &fvWriteD40KNumDt; - sprintf(output[OUT_40KTIME].cName, "40KTimescale"); - sprintf(output[OUT_40KTIME].cDescr, "Timescale for 40K Power Generation"); - sprintf(output[OUT_40KTIME].cNeg, "Gyr"); + fvFormattedString(&output[OUT_40KTIME].cName, "40KTimescale"); + 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); output[OUT_40KTIME].iNum = 1; output[OUT_40KTIME].iModuleBit = RADHEAT; fnWrite[OUT_40KTIME] = &fvWrite40KTimescale; - sprintf(output[OUT_40KPOWERMAN].cName, "40KPowerMan"); - sprintf(output[OUT_40KPOWERMAN].cDescr, "Total Power Generated by 40K"); - sprintf(output[OUT_40KPOWERMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_40KPOWERMAN].cName, "40KPowerMan"); + 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; output[OUT_40KPOWERMAN].iNum = 1; output[OUT_40KPOWERMAN].iModuleBit = RADHEAT; fnWrite[OUT_40KPOWERMAN] = &fvWrite40KPowerMan; - sprintf(output[OUT_40KMASSMAN].cName, "40KMassMan"); - sprintf(output[OUT_40KMASSMAN].cDescr, "Total Mass of 40K"); - sprintf(output[OUT_40KMASSMAN].cNeg, "Mearth"); + fvFormattedString(&output[OUT_40KMASSMAN].cName, "40KMassMan"); + fvFormattedString(&output[OUT_40KMASSMAN].cDescr, "Total Mass of 40K"); + fvFormattedString(&output[OUT_40KMASSMAN].cNeg, "Mearth"); output[OUT_40KMASSMAN].bNeg = 1; output[OUT_40KMASSMAN].dNeg = 1. / MEARTH; output[OUT_40KMASSMAN].iNum = 1; output[OUT_40KMASSMAN].iModuleBit = RADHEAT; fnWrite[OUT_40KMASSMAN] = &fvWrite40KMassMan; - sprintf(output[OUT_40KNUMMAN].cName, "40KNumMan"); - sprintf(output[OUT_40KNUMMAN].cDescr, "Total Number of 40K Atoms"); - sprintf(output[OUT_40KNUMMAN].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_40KNUMMAN].bNeg = 1; output[OUT_40KNUMMAN].dNeg = EMASSMAN40K / MASS40K; output[OUT_40KNUMMAN].iNum = 1; @@ -5598,27 +5598,27 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KNUMMAN] = &fvWrite40KNumMan; /* Core */ - sprintf(output[OUT_40KPOWERCORE].cName, "40KPowerCore"); - sprintf(output[OUT_40KPOWERCORE].cDescr, "Core Power Generated by 40K"); - sprintf(output[OUT_40KPOWERCORE].cNeg, "TW"); + fvFormattedString(&output[OUT_40KPOWERCORE].cName, "40KPowerCore"); + 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 output[OUT_40KPOWERCORE].iNum = 1; output[OUT_40KPOWERCORE].iModuleBit = RADHEAT; fnWrite[OUT_40KPOWERCORE] = &fvWrite40KPowerCore; - sprintf(output[OUT_40KMASSCORE].cName, "40KMassCore"); - sprintf(output[OUT_40KMASSCORE].cDescr, "Total Core Mass of 40K"); - sprintf(output[OUT_40KMASSCORE].cNeg, "Mearth"); + fvFormattedString(&output[OUT_40KMASSCORE].cName, "40KMassCore"); + fvFormattedString(&output[OUT_40KMASSCORE].cDescr, "Total Core Mass of 40K"); + fvFormattedString(&output[OUT_40KMASSCORE].cNeg, "Mearth"); output[OUT_40KMASSCORE].bNeg = 1; output[OUT_40KMASSCORE].dNeg = 1. / MEARTH; output[OUT_40KMASSCORE].iNum = 1; output[OUT_40KMASSCORE].iModuleBit = RADHEAT; fnWrite[OUT_40KMASSCORE] = &fvWrite40KMassCore; - sprintf(output[OUT_40KNUMCORE].cName, "40KNumCore"); - sprintf(output[OUT_40KNUMCORE].cDescr, "Total Core Number of 40K Atoms"); - sprintf(output[OUT_40KNUMCORE].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_40KNUMCORE].bNeg = 1; output[OUT_40KNUMCORE].dNeg = EMASSCORE40K / MASS40K; output[OUT_40KNUMCORE].iNum = 1; @@ -5626,37 +5626,37 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KNUMCORE] = &fvWrite40KNumCore; /* Crust */ - sprintf(output[OUT_40KPOWERCRUST].cName, "40KPowerCrust"); - sprintf(output[OUT_40KPOWERCRUST].cDescr, "Crust Power Generated by 40K"); - sprintf(output[OUT_40KPOWERCRUST].cNeg, "TW"); + fvFormattedString(&output[OUT_40KPOWERCRUST].cName, "40KPowerCrust"); + 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 output[OUT_40KPOWERCRUST].iNum = 1; output[OUT_40KPOWERCRUST].iModuleBit = RADHEAT; fnWrite[OUT_40KPOWERCRUST] = &fvWrite40KPowerCrust; - sprintf(output[OUT_40KMASSCRUST].cName, "40KMassCrust"); - sprintf(output[OUT_40KMASSCRUST].cDescr, "Total Crust Mass of 40K"); - sprintf(output[OUT_40KMASSCRUST].cNeg, "Mearth"); + fvFormattedString(&output[OUT_40KMASSCRUST].cName, "40KMassCrust"); + 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; output[OUT_40KMASSCRUST].iNum = 1; output[OUT_40KMASSCRUST].iModuleBit = RADHEAT; fnWrite[OUT_40KMASSCRUST] = &fvWrite40KMassCrust; - sprintf(output[OUT_40KNUMCRUST].cName, "40KNumCrust"); - sprintf(output[OUT_40KNUMCRUST].cDescr, "Total Crust Number of 40K Atoms"); - sprintf(output[OUT_40KNUMCRUST].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_40KNUMCRUST].bNeg = 1; output[OUT_40KNUMCRUST].dNeg = EMASSCRUST40K / MASS40K; output[OUT_40KNUMCRUST].iNum = 1; output[OUT_40KNUMCRUST].iModuleBit = RADHEAT; fnWrite[OUT_40KNUMCRUST] = &fvWrite40KNumCrust; - sprintf(output[OUT_40KPOWERTOT].cName, "40KPowerTotal"); - sprintf(output[OUT_40KPOWERTOT].cDescr, + fvFormattedString(&output[OUT_40KPOWERTOT].cName, "40KPowerTotal"); + fvFormattedString(&output[OUT_40KPOWERTOT].cDescr, "Total Power from Decay of 40K Atoms"); - sprintf(output[OUT_40KPOWERTOT].cNeg, "TW"); + fvFormattedString(&output[OUT_40KPOWERTOT].cNeg, "TW"); output[OUT_40KPOWERTOT].bNeg = 1; output[OUT_40KPOWERTOT].dNeg = 1e-12; output[OUT_40KPOWERTOT].iNum = 1; @@ -5664,55 +5664,55 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KPOWERTOT] = &fvWrite40KPowerTot; /* Thorium */ - sprintf(output[OUT_232THPOWERMAN].cName, "232ThPowerMan"); - sprintf(output[OUT_232THPOWERMAN].cDescr, "Total Power Generated by 232Th"); - sprintf(output[OUT_232THPOWERMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_232THPOWERMAN].cName, "232ThPowerMan"); + 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; output[OUT_232THPOWERMAN].iNum = 1; output[OUT_232THPOWERMAN].iModuleBit = RADHEAT; fnWrite[OUT_232THPOWERMAN] = &fvWrite232ThPowerMan; - sprintf(output[OUT_232THENFLUX].cName, "232ThEnFlux"); - sprintf(output[OUT_232THENFLUX].cDescr, "Surface Energy Flux from 232Th"); - sprintf(output[OUT_232THENFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_232THENFLUX].cName, "232ThEnFlux"); + 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; output[OUT_232THENFLUX].iNum = 1; output[OUT_232THENFLUX].iModuleBit = RADHEAT; fnWrite[OUT_232THENFLUX] = &fvWrite232ThEnFlux; - sprintf(output[OUT_232THDNUMDT].cName, "D232ThNumManDt"); - sprintf(output[OUT_232THDNUMDT].cDescr, + fvFormattedString(&output[OUT_232THDNUMDT].cName, "D232ThNumManDt"); + fvFormattedString(&output[OUT_232THDNUMDT].cDescr, "Time Rate of Change of the number of 232Th nuclei"); - sprintf(output[OUT_232THDNUMDT].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_232THDNUMDT].cNeg, "/Gyr"); output[OUT_232THDNUMDT].bNeg = 1; output[OUT_232THDNUMDT].dNeg = YEARSEC * 1e9; output[OUT_232THDNUMDT].iNum = 1; output[OUT_232THDNUMDT].iModuleBit = RADHEAT; fnWrite[OUT_232THDNUMDT] = &fvWriteD232ThNumDt; - sprintf(output[OUT_232THTIME].cName, "232ThTimescale"); - sprintf(output[OUT_232THTIME].cDescr, "Timescale for 232Th Power Generation"); - sprintf(output[OUT_232THTIME].cNeg, "Gyr"); + fvFormattedString(&output[OUT_232THTIME].cName, "232ThTimescale"); + 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); output[OUT_232THTIME].iNum = 1; output[OUT_232THTIME].iModuleBit = RADHEAT; fnWrite[OUT_232THTIME] = &fvWrite232ThTimescale; - sprintf(output[OUT_232THMASSMAN].cName, "232ThMassMan"); - sprintf(output[OUT_232THMASSMAN].cDescr, "Total Mass of 232Th"); - sprintf(output[OUT_232THMASSMAN].cNeg, "Mearth"); + fvFormattedString(&output[OUT_232THMASSMAN].cName, "232ThMassMan"); + fvFormattedString(&output[OUT_232THMASSMAN].cDescr, "Total Mass of 232Th"); + fvFormattedString(&output[OUT_232THMASSMAN].cNeg, "Mearth"); output[OUT_232THMASSMAN].bNeg = 1; output[OUT_232THMASSMAN].dNeg = 1. / MEARTH; output[OUT_232THMASSMAN].iNum = 1; output[OUT_232THMASSMAN].iModuleBit = RADHEAT; fnWrite[OUT_232THMASSMAN] = &fvWrite232ThMassMan; - sprintf(output[OUT_232THNUMMAN].cName, "232ThNumMan"); - sprintf(output[OUT_232THNUMMAN].cDescr, "Total Number of 232Th Atoms"); - sprintf(output[OUT_232THNUMMAN].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_232THNUMMAN].bNeg = 1; output[OUT_232THNUMMAN].dNeg = EMASSMAN232TH / MASS232TH; output[OUT_232THNUMMAN].iNum = 1; @@ -5720,27 +5720,27 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_232THNUMMAN] = &fvWrite232ThNumMan; /* Core */ - sprintf(output[OUT_232THPOWERCORE].cName, "232ThPowerCore"); - sprintf(output[OUT_232THPOWERCORE].cDescr, "Total Power Generated by 232Th"); - sprintf(output[OUT_232THPOWERCORE].cNeg, "TW"); + fvFormattedString(&output[OUT_232THPOWERCORE].cName, "232ThPowerCore"); + 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; output[OUT_232THPOWERCORE].iNum = 1; output[OUT_232THPOWERCORE].iModuleBit = RADHEAT; fnWrite[OUT_232THPOWERCORE] = &fvWrite232ThPowerCore; - sprintf(output[OUT_232THMASSCORE].cName, "232ThMassCore"); - sprintf(output[OUT_232THMASSCORE].cDescr, "Total Mass of 232Th"); - sprintf(output[OUT_232THMASSCORE].cNeg, "Mearth"); + fvFormattedString(&output[OUT_232THMASSCORE].cName, "232ThMassCore"); + fvFormattedString(&output[OUT_232THMASSCORE].cDescr, "Total Mass of 232Th"); + fvFormattedString(&output[OUT_232THMASSCORE].cNeg, "Mearth"); output[OUT_232THMASSCORE].bNeg = 1; output[OUT_232THMASSCORE].dNeg = 1. / MEARTH; output[OUT_232THMASSCORE].iNum = 1; output[OUT_232THMASSCORE].iModuleBit = RADHEAT; fnWrite[OUT_232THMASSCORE] = &fvWrite232ThMassCore; - sprintf(output[OUT_232THNUMCORE].cName, "232ThNumCore"); - sprintf(output[OUT_232THNUMCORE].cDescr, "Total Number of 232Th Atoms"); - sprintf(output[OUT_232THNUMCORE].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_232THNUMCORE].bNeg = 1; output[OUT_232THNUMCORE].dNeg = EMASSCORE232TH / MASS232TH; output[OUT_232THNUMCORE].iNum = 1; @@ -5748,37 +5748,37 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_232THNUMCORE] = &fvWrite232ThNumCore; /* Crust */ - sprintf(output[OUT_232THPOWERCRUST].cName, "232ThPowerCrust"); - sprintf(output[OUT_232THPOWERCRUST].cDescr, "Total Power Generated by 232Th"); - sprintf(output[OUT_232THPOWERCRUST].cNeg, "TW"); + fvFormattedString(&output[OUT_232THPOWERCRUST].cName, "232ThPowerCrust"); + 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; output[OUT_232THPOWERCRUST].iNum = 1; output[OUT_232THPOWERCRUST].iModuleBit = RADHEAT; fnWrite[OUT_232THPOWERCRUST] = &fvWrite232ThPowerCrust; - sprintf(output[OUT_232THMASSCRUST].cName, "232ThMassCrust"); - sprintf(output[OUT_232THMASSCRUST].cDescr, "Total Mass of 232Th"); - sprintf(output[OUT_232THMASSCRUST].cNeg, "Mearth"); + fvFormattedString(&output[OUT_232THMASSCRUST].cName, "232ThMassCrust"); + fvFormattedString(&output[OUT_232THMASSCRUST].cDescr, "Total Mass of 232Th"); + fvFormattedString(&output[OUT_232THMASSCRUST].cNeg, "Mearth"); output[OUT_232THMASSCRUST].bNeg = 1; output[OUT_232THMASSCRUST].dNeg = 1. / MEARTH; output[OUT_232THMASSCRUST].iNum = 1; output[OUT_232THMASSCRUST].iModuleBit = RADHEAT; fnWrite[OUT_232THMASSCRUST] = &fvWrite232ThMassCrust; - sprintf(output[OUT_232THNUMCRUST].cName, "232ThNumCrust"); - sprintf(output[OUT_232THNUMCRUST].cDescr, "Total Number of 232Th Atoms"); - sprintf(output[OUT_232THNUMCRUST].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_232THNUMCRUST].bNeg = 1; output[OUT_232THNUMCRUST].dNeg = EMASSCRUST232TH / MASS232TH; output[OUT_232THNUMCRUST].iNum = 1; output[OUT_232THNUMCRUST].iModuleBit = RADHEAT; fnWrite[OUT_232THNUMCRUST] = &fvWrite232ThNumCrust; - sprintf(output[OUT_232THPOWERTOT].cName, "232ThPowerTotal"); - sprintf(output[OUT_232THPOWERTOT].cDescr, + fvFormattedString(&output[OUT_232THPOWERTOT].cName, "232ThPowerTotal"); + fvFormattedString(&output[OUT_232THPOWERTOT].cDescr, "Total Power from Decay of 232Th Atoms"); - sprintf(output[OUT_232THPOWERTOT].cNeg, "TW"); + fvFormattedString(&output[OUT_232THPOWERTOT].cNeg, "TW"); output[OUT_232THPOWERTOT].bNeg = 1; output[OUT_232THPOWERTOT].dNeg = 1e-12; output[OUT_232THPOWERTOT].iNum = 1; @@ -5788,55 +5788,55 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Uranium 238 */ - sprintf(output[OUT_238UPOWERMAN].cName, "238UPowerMan"); - sprintf(output[OUT_238UPOWERMAN].cDescr, "Total Power Generated by 238U"); - sprintf(output[OUT_238UPOWERMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_238UPOWERMAN].cName, "238UPowerMan"); + 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; output[OUT_238UPOWERMAN].iNum = 1; output[OUT_238UPOWERMAN].iModuleBit = RADHEAT; fnWrite[OUT_238UPOWERMAN] = &fvWrite238UPowerMan; - sprintf(output[OUT_238UENFLUX].cName, "238UEnFlux"); - sprintf(output[OUT_238UENFLUX].cDescr, "Surface Energy Flux due to 238U"); - sprintf(output[OUT_238UENFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_238UENFLUX].cName, "238UEnFlux"); + 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; output[OUT_238UENFLUX].iNum = 1; output[OUT_238UENFLUX].iModuleBit = RADHEAT; fnWrite[OUT_238UENFLUX] = &fvWrite238UEnFlux; - sprintf(output[OUT_238UDNUMDT].cName, "D238UNumManDt"); - sprintf(output[OUT_238UDNUMDT].cDescr, + fvFormattedString(&output[OUT_238UDNUMDT].cName, "D238UNumManDt"); + fvFormattedString(&output[OUT_238UDNUMDT].cDescr, "Time Rate of Change of the Number of 238U Nuclei"); - sprintf(output[OUT_238UDNUMDT].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_238UDNUMDT].cNeg, "/Gyr"); output[OUT_238UDNUMDT].bNeg = 1; output[OUT_238UDNUMDT].dNeg = YEARSEC * 1e9; output[OUT_238UDNUMDT].iNum = 1; output[OUT_238UDNUMDT].iModuleBit = RADHEAT; fnWrite[OUT_238UDNUMDT] = &fvWriteD238UNumDt; - sprintf(output[OUT_238UTIME].cName, "238UTimescale"); - sprintf(output[OUT_238UTIME].cDescr, "Timescale for 238U Power Generation"); - sprintf(output[OUT_238UTIME].cNeg, "Gyr"); + fvFormattedString(&output[OUT_238UTIME].cName, "238UTimescale"); + 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); output[OUT_238UTIME].iNum = 1; output[OUT_238UTIME].iModuleBit = RADHEAT; fnWrite[OUT_238UTIME] = &fvWrite238UTimescale; - sprintf(output[OUT_238UMASSMAN].cName, "238UMassMan"); - sprintf(output[OUT_238UMASSMAN].cDescr, "Total Mass of 238U"); - sprintf(output[OUT_238UMASSMAN].cNeg, "Mearth"); + fvFormattedString(&output[OUT_238UMASSMAN].cName, "238UMassMan"); + fvFormattedString(&output[OUT_238UMASSMAN].cDescr, "Total Mass of 238U"); + fvFormattedString(&output[OUT_238UMASSMAN].cNeg, "Mearth"); output[OUT_238UMASSMAN].bNeg = 1; output[OUT_238UMASSMAN].dNeg = 1. / MEARTH; output[OUT_238UMASSMAN].iNum = 1; output[OUT_238UMASSMAN].iModuleBit = RADHEAT; fnWrite[OUT_238UMASSMAN] = &fvWrite238UMassMan; - sprintf(output[OUT_238UNUMMAN].cName, "238UNumMan"); - sprintf(output[OUT_238UNUMMAN].cDescr, "Total Number of 238U Atoms"); - sprintf(output[OUT_238UNUMMAN].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_238UNUMMAN].bNeg = 1; output[OUT_238UNUMMAN].dNeg = EMASSMAN238U / MASS238U; output[OUT_238UNUMMAN].iNum = 1; @@ -5844,28 +5844,28 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UNUMMAN] = &fvWrite238UNumMan; /* Core */ - sprintf(output[OUT_238UPOWERCORE].cName, "238UPowerCore"); - sprintf(output[OUT_238UPOWERCORE].cDescr, + fvFormattedString(&output[OUT_238UPOWERCORE].cName, "238UPowerCore"); + fvFormattedString(&output[OUT_238UPOWERCORE].cDescr, "Total Core Power Generated by 238U"); - sprintf(output[OUT_238UPOWERCORE].cNeg, "TW"); + fvFormattedString(&output[OUT_238UPOWERCORE].cNeg, "TW"); output[OUT_238UPOWERCORE].bNeg = 1; output[OUT_238UPOWERCORE].dNeg = 1e-12; output[OUT_238UPOWERCORE].iNum = 1; output[OUT_238UPOWERCORE].iModuleBit = RADHEAT; fnWrite[OUT_238UPOWERCORE] = &fvWrite238UPowerCore; - sprintf(output[OUT_238UMASSCORE].cName, "238UMassCore"); - sprintf(output[OUT_238UMASSCORE].cDescr, "Total Core Mass of 238U"); - sprintf(output[OUT_238UMASSCORE].cNeg, "Mearth"); + fvFormattedString(&output[OUT_238UMASSCORE].cName, "238UMassCore"); + 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; output[OUT_238UMASSCORE].iNum = 1; output[OUT_238UMASSCORE].iModuleBit = RADHEAT; fnWrite[OUT_238UMASSCORE] = &fvWrite238UMassCore; - sprintf(output[OUT_238UNUMCORE].cName, "238UNumCore"); - sprintf(output[OUT_238UNUMCORE].cDescr, "Total Core Number of 238U Atoms"); - sprintf(output[OUT_238UNUMCORE].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_238UNUMCORE].bNeg = 1; output[OUT_238UNUMCORE].dNeg = EMASSCORE238U / MASS238U; output[OUT_238UNUMCORE].iNum = 1; @@ -5873,38 +5873,38 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UNUMCORE] = &fvWrite238UNumCore; /* Crust */ - sprintf(output[OUT_238UPOWERCRUST].cName, "238UPowerCrust"); - sprintf(output[OUT_238UPOWERCRUST].cDescr, + fvFormattedString(&output[OUT_238UPOWERCRUST].cName, "238UPowerCrust"); + fvFormattedString(&output[OUT_238UPOWERCRUST].cDescr, "Total Crust Power Generated by 238U"); - sprintf(output[OUT_238UPOWERCRUST].cNeg, "TW"); + fvFormattedString(&output[OUT_238UPOWERCRUST].cNeg, "TW"); output[OUT_238UPOWERCRUST].bNeg = 1; output[OUT_238UPOWERCRUST].dNeg = 1e-12; output[OUT_238UPOWERCRUST].iNum = 1; output[OUT_238UPOWERCRUST].iModuleBit = RADHEAT; fnWrite[OUT_238UPOWERCRUST] = &fvWrite238UPowerCrust; - sprintf(output[OUT_238UMASSCRUST].cName, "238UMassCrust"); - sprintf(output[OUT_238UMASSCRUST].cDescr, "Total Crust Mass of 238U"); - sprintf(output[OUT_238UMASSCRUST].cNeg, "Mearth"); + fvFormattedString(&output[OUT_238UMASSCRUST].cName, "238UMassCrust"); + 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; output[OUT_238UMASSCRUST].iNum = 1; output[OUT_238UMASSCRUST].iModuleBit = RADHEAT; fnWrite[OUT_238UMASSCRUST] = &fvWrite238UMassCrust; - sprintf(output[OUT_238UNUMCRUST].cName, "238UNumCrust"); - sprintf(output[OUT_238UNUMCRUST].cDescr, "Total Crust Number of 238U Atoms"); - sprintf(output[OUT_238UNUMCRUST].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_238UNUMCRUST].bNeg = 1; output[OUT_238UNUMCRUST].dNeg = EMASSCRUST238U / MASS238U; output[OUT_238UNUMCRUST].iNum = 1; output[OUT_238UNUMCRUST].iModuleBit = RADHEAT; fnWrite[OUT_238UNUMCRUST] = &fvWrite238UNumCrust; - sprintf(output[OUT_238UPOWERTOT].cName, "238UPowerTotal"); - sprintf(output[OUT_238UPOWERTOT].cDescr, + fvFormattedString(&output[OUT_238UPOWERTOT].cName, "238UPowerTotal"); + fvFormattedString(&output[OUT_238UPOWERTOT].cDescr, "Total Power from Decay of 238U Atoms"); - sprintf(output[OUT_238UPOWERTOT].cNeg, "TW"); + fvFormattedString(&output[OUT_238UPOWERTOT].cNeg, "TW"); output[OUT_238UPOWERTOT].bNeg = 1; output[OUT_238UPOWERTOT].dNeg = 1e-12; output[OUT_238UPOWERTOT].iNum = 1; @@ -5914,55 +5914,55 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Uranium 235 */ - sprintf(output[OUT_235UPOWERMAN].cName, "235UPowerMan"); - sprintf(output[OUT_235UPOWERMAN].cDescr, "Total Power Generated by 235U"); - sprintf(output[OUT_235UPOWERMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_235UPOWERMAN].cName, "235UPowerMan"); + 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; output[OUT_235UPOWERMAN].iNum = 1; output[OUT_235UPOWERMAN].iModuleBit = RADHEAT; fnWrite[OUT_235UPOWERMAN] = &fvWrite235UPowerMan; - sprintf(output[OUT_235UENFLUX].cName, "235UEnFlux"); - sprintf(output[OUT_235UENFLUX].cDescr, "Surface Energy Flux due to 235U"); - sprintf(output[OUT_235UENFLUX].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_235UENFLUX].cName, "235UEnFlux"); + 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; output[OUT_235UENFLUX].iNum = 1; output[OUT_235UENFLUX].iModuleBit = RADHEAT; fnWrite[OUT_235UENFLUX] = &fvWrite235UEnFlux; - sprintf(output[OUT_235UDNUMDT].cName, "D235UNumManDt"); - sprintf(output[OUT_235UDNUMDT].cDescr, + fvFormattedString(&output[OUT_235UDNUMDT].cName, "D235UNumManDt"); + fvFormattedString(&output[OUT_235UDNUMDT].cDescr, "Time Rate of Change of the Number of 235U Nuclei"); - sprintf(output[OUT_235UDNUMDT].cNeg, "/Gyr"); + fvFormattedString(&output[OUT_235UDNUMDT].cNeg, "/Gyr"); output[OUT_235UDNUMDT].bNeg = 1; output[OUT_235UDNUMDT].dNeg = YEARSEC * 1e9; output[OUT_235UDNUMDT].iNum = 1; output[OUT_235UDNUMDT].iModuleBit = RADHEAT; fnWrite[OUT_235UDNUMDT] = &fvWriteD235UNumDt; - sprintf(output[OUT_235UTIME].cName, "235UTimescale"); - sprintf(output[OUT_235UTIME].cDescr, "Timescale for 235U Power Generation"); - sprintf(output[OUT_235UTIME].cNeg, "Gyr"); + fvFormattedString(&output[OUT_235UTIME].cName, "235UTimescale"); + 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); output[OUT_235UTIME].iNum = 1; output[OUT_235UTIME].iModuleBit = RADHEAT; fnWrite[OUT_235UTIME] = &fvWrite235UTimescale; - sprintf(output[OUT_235UMASSMAN].cName, "235UMassMan"); - sprintf(output[OUT_235UMASSMAN].cDescr, "Total Mass of 235U"); - sprintf(output[OUT_235UMASSMAN].cNeg, "Mearth"); + fvFormattedString(&output[OUT_235UMASSMAN].cName, "235UMassMan"); + fvFormattedString(&output[OUT_235UMASSMAN].cDescr, "Total Mass of 235U"); + fvFormattedString(&output[OUT_235UMASSMAN].cNeg, "Mearth"); output[OUT_235UMASSMAN].bNeg = 1; output[OUT_235UMASSMAN].dNeg = 1. / MEARTH; output[OUT_235UMASSMAN].iNum = 1; output[OUT_235UMASSMAN].iModuleBit = RADHEAT; fnWrite[OUT_235UMASSMAN] = &fvWrite235UMassMan; - sprintf(output[OUT_235UNUMMAN].cName, "235UNumMan"); - sprintf(output[OUT_235UNUMMAN].cDescr, "Total Number of 235U Atoms"); - sprintf(output[OUT_235UNUMMAN].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_235UNUMMAN].bNeg = 1; output[OUT_235UNUMMAN].dNeg = EMASSMAN235U / MASS235U; output[OUT_235UNUMMAN].iNum = 1; @@ -5970,28 +5970,28 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UNUMMAN] = &fvWrite235UNumMan; /* Core */ - sprintf(output[OUT_235UPOWERCORE].cName, "235UPowerCore"); - sprintf(output[OUT_235UPOWERCORE].cDescr, + fvFormattedString(&output[OUT_235UPOWERCORE].cName, "235UPowerCore"); + fvFormattedString(&output[OUT_235UPOWERCORE].cDescr, "Total Core Power Generated by 235U"); - sprintf(output[OUT_235UPOWERCORE].cNeg, "TW"); + fvFormattedString(&output[OUT_235UPOWERCORE].cNeg, "TW"); output[OUT_235UPOWERCORE].bNeg = 1; output[OUT_235UPOWERCORE].dNeg = 1e-12; output[OUT_235UPOWERCORE].iNum = 1; output[OUT_235UPOWERCORE].iModuleBit = RADHEAT; fnWrite[OUT_235UPOWERCORE] = &fvWrite235UPowerCore; - sprintf(output[OUT_235UMASSCORE].cName, "235UMassCore"); - sprintf(output[OUT_235UMASSCORE].cDescr, "Total Core Mass of 235U"); - sprintf(output[OUT_235UMASSCORE].cNeg, "Mearth"); + fvFormattedString(&output[OUT_235UMASSCORE].cName, "235UMassCore"); + 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; output[OUT_235UMASSCORE].iNum = 1; output[OUT_235UMASSCORE].iModuleBit = RADHEAT; fnWrite[OUT_235UMASSCORE] = &fvWrite235UMassCore; - sprintf(output[OUT_235UNUMCORE].cName, "235UNumCore"); - sprintf(output[OUT_235UNUMCORE].cDescr, "Total Core Number of 235U Atoms"); - sprintf(output[OUT_235UNUMCORE].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_235UNUMCORE].bNeg = 1; output[OUT_235UNUMCORE].dNeg = EMASSCORE235U / MASS235U; output[OUT_235UNUMCORE].iNum = 1; @@ -5999,38 +5999,38 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UNUMCORE] = &fvWrite235UNumCore; /* Crust */ - sprintf(output[OUT_235UPOWERCRUST].cName, "235UPowerCrust"); - sprintf(output[OUT_235UPOWERCRUST].cDescr, + fvFormattedString(&output[OUT_235UPOWERCRUST].cName, "235UPowerCrust"); + fvFormattedString(&output[OUT_235UPOWERCRUST].cDescr, "Total Crust Power Generated by 235U"); - sprintf(output[OUT_235UPOWERCRUST].cNeg, "TW"); + fvFormattedString(&output[OUT_235UPOWERCRUST].cNeg, "TW"); output[OUT_235UPOWERCRUST].bNeg = 1; output[OUT_235UPOWERCRUST].dNeg = 1e-12; output[OUT_235UPOWERCRUST].iNum = 1; output[OUT_235UPOWERCRUST].iModuleBit = RADHEAT; fnWrite[OUT_235UPOWERCRUST] = &fvWrite235UPowerCrust; - sprintf(output[OUT_235UMASSCRUST].cName, "235UMassCrust"); - sprintf(output[OUT_235UMASSCRUST].cDescr, "Total Crust Mass of 235U"); - sprintf(output[OUT_235UMASSCRUST].cNeg, "Mearth"); + fvFormattedString(&output[OUT_235UMASSCRUST].cName, "235UMassCrust"); + 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; output[OUT_235UMASSCRUST].iNum = 1; output[OUT_235UMASSCRUST].iModuleBit = RADHEAT; fnWrite[OUT_235UMASSCRUST] = &fvWrite235UMassCrust; - sprintf(output[OUT_235UNUMCRUST].cName, "235UNumCrust"); - sprintf(output[OUT_235UNUMCRUST].cDescr, "Total Crust Number of 235U Atoms"); - sprintf(output[OUT_235UNUMCRUST].cNeg, "Initial Primordial Earth Number"); + 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"); output[OUT_235UNUMCRUST].bNeg = 1; output[OUT_235UNUMCRUST].dNeg = EMASSCRUST235U / MASS235U; output[OUT_235UNUMCRUST].iNum = 1; output[OUT_235UNUMCRUST].iModuleBit = RADHEAT; fnWrite[OUT_235UNUMCRUST] = &fvWrite235UNumCrust; - sprintf(output[OUT_235UPOWERTOT].cName, "235UPowerTotal"); - sprintf(output[OUT_235UPOWERTOT].cDescr, + fvFormattedString(&output[OUT_235UPOWERTOT].cName, "235UPowerTotal"); + fvFormattedString(&output[OUT_235UPOWERTOT].cDescr, "Total Power from Decay of 235U Atoms"); - sprintf(output[OUT_235UPOWERTOT].cNeg, "TW"); + fvFormattedString(&output[OUT_235UPOWERTOT].cNeg, "TW"); output[OUT_235UPOWERTOT].bNeg = 1; output[OUT_235UPOWERTOT].dNeg = 1e-12; output[OUT_235UPOWERTOT].iNum = 1; @@ -6039,50 +6039,50 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Totals */ - sprintf(output[OUT_RADPOWERCRUST].cName, "RadPowerCrust"); - sprintf(output[OUT_RADPOWERCRUST].cDescr, + fvFormattedString(&output[OUT_RADPOWERCRUST].cName, "RadPowerCrust"); + fvFormattedString(&output[OUT_RADPOWERCRUST].cDescr, "Total Power Generated by Radiogenic Nuclides in the crust"); - sprintf(output[OUT_RADPOWERCRUST].cNeg, "TW"); + fvFormattedString(&output[OUT_RADPOWERCRUST].cNeg, "TW"); output[OUT_RADPOWERCRUST].bNeg = 1; output[OUT_RADPOWERCRUST].dNeg = 1e-12; output[OUT_RADPOWERCRUST].iNum = 1; output[OUT_RADPOWERCRUST].iModuleBit = RADHEAT; fnWrite[OUT_RADPOWERCRUST] = &fvWriteRadPowerCrust; - sprintf(output[OUT_RADPOWERMAN].cName, "RadPowerMan"); - sprintf(output[OUT_RADPOWERMAN].cDescr, + fvFormattedString(&output[OUT_RADPOWERMAN].cName, "RadPowerMan"); + fvFormattedString(&output[OUT_RADPOWERMAN].cDescr, "Total Power Generated by Radiogenic Nuclides in the mantle"); - sprintf(output[OUT_RADPOWERMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_RADPOWERMAN].cNeg, "TW"); output[OUT_RADPOWERMAN].bNeg = 1; output[OUT_RADPOWERMAN].dNeg = 1e-12; output[OUT_RADPOWERMAN].iNum = 1; output[OUT_RADPOWERMAN].iModuleBit = RADHEAT; fnWrite[OUT_RADPOWERMAN] = &fvWriteRadPowerMan; - sprintf(output[OUT_RADPOWERCORE].cName, "RadPowerCore"); - sprintf(output[OUT_RADPOWERCORE].cDescr, + fvFormattedString(&output[OUT_RADPOWERCORE].cName, "RadPowerCore"); + fvFormattedString(&output[OUT_RADPOWERCORE].cDescr, "Total Power Generated by Radiogenic Nuclides in Core"); - sprintf(output[OUT_RADPOWERCORE].cNeg, "TW"); + fvFormattedString(&output[OUT_RADPOWERCORE].cNeg, "TW"); output[OUT_RADPOWERCORE].bNeg = 1; output[OUT_RADPOWERCORE].dNeg = 1e-12; output[OUT_RADPOWERCORE].iNum = 1; output[OUT_RADPOWERCORE].iModuleBit = RADHEAT; fnWrite[OUT_RADPOWERCORE] = &fvWriteRadPowerCore; - sprintf(output[OUT_RADPOWERTOTAL].cName, "RadPowerTotal"); - sprintf(output[OUT_RADPOWERTOTAL].cDescr, + fvFormattedString(&output[OUT_RADPOWERTOTAL].cName, "RadPowerTotal"); + fvFormattedString(&output[OUT_RADPOWERTOTAL].cDescr, "Total Power Generated by Radiogenic Nuclides in Total (M+C)"); - sprintf(output[OUT_RADPOWERTOTAL].cNeg, "TW"); + fvFormattedString(&output[OUT_RADPOWERTOTAL].cNeg, "TW"); output[OUT_RADPOWERTOTAL].bNeg = 1; output[OUT_RADPOWERTOTAL].dNeg = 1e-12; output[OUT_RADPOWERTOTAL].iNum = 1; output[OUT_RADPOWERTOTAL].iModuleBit = RADHEAT; fnWrite[OUT_RADPOWERTOTAL] = &fvWriteRadPowerTotal; - sprintf(output[OUT_SURFENFLUXRADTOTAL].cName, "SurfEnFluxRadTotal"); - sprintf(output[OUT_SURFENFLUXRADTOTAL].cDescr, + fvFormattedString(&output[OUT_SURFENFLUXRADTOTAL].cName, "SurfEnFluxRadTotal"); + fvFormattedString(&output[OUT_SURFENFLUXRADTOTAL].cDescr, "Total Surface Heat Flux Generated by Radiogenic Nuclides"); - sprintf(output[OUT_SURFENFLUXRADTOTAL].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_SURFENFLUXRADTOTAL].cNeg, "W/m^2"); output[OUT_SURFENFLUXRADTOTAL].bNeg = 1; output[OUT_SURFENFLUXRADTOTAL].dNeg = 1; output[OUT_SURFENFLUXRADTOTAL].iNum = 1; diff --git a/src/spinbody.c b/src/spinbody.c index 1d4726f9e..05cadee53 100644 --- a/src/spinbody.c +++ b/src/spinbody.c @@ -230,73 +230,73 @@ void InitializeOptionsSpiNBody(OPTIONS *options, fnReadOption fnRead[]) { // XXX All of these should be deprecated so that it doesn't matter if the user // calls DistOrb or SpiNBody - sprintf(options[OPT_POSITIONXSPINBODY].cName, "dPositionXSpiNBody"); - sprintf(options[OPT_POSITIONXSPINBODY].cDescr, "X position of the body"); - sprintf(options[OPT_POSITIONXSPINBODY].cDefault, "0"); - sprintf(options[OPT_POSITIONXSPINBODY].cDimension, "length"); + fvFormattedString(&options[OPT_POSITIONXSPINBODY].cName, "dPositionXSpiNBody"); + fvFormattedString(&options[OPT_POSITIONXSPINBODY].cDescr, "X position of the body"); + fvFormattedString(&options[OPT_POSITIONXSPINBODY].cDefault, "0"); + fvFormattedString(&options[OPT_POSITIONXSPINBODY].cDimension, "length"); options[OPT_POSITIONXSPINBODY].dDefault = 0.0; options[OPT_POSITIONXSPINBODY].iType = 2; options[OPT_POSITIONXSPINBODY].bMultiFile = 1; fnRead[OPT_POSITIONXSPINBODY] = &ReadPositionX; - sprintf(options[OPT_POSITIONYSPINBODY].cName, "dPositionYSpiNBody"); - sprintf(options[OPT_POSITIONYSPINBODY].cDescr, "Y position of the body"); - sprintf(options[OPT_POSITIONYSPINBODY].cDefault, "0"); - sprintf(options[OPT_POSITIONYSPINBODY].cDimension, "length"); + fvFormattedString(&options[OPT_POSITIONYSPINBODY].cName, "dPositionYSpiNBody"); + fvFormattedString(&options[OPT_POSITIONYSPINBODY].cDescr, "Y position of the body"); + fvFormattedString(&options[OPT_POSITIONYSPINBODY].cDefault, "0"); + fvFormattedString(&options[OPT_POSITIONYSPINBODY].cDimension, "length"); options[OPT_POSITIONYSPINBODY].dDefault = 0.0; options[OPT_POSITIONYSPINBODY].iType = 2; options[OPT_POSITIONYSPINBODY].bMultiFile = 1; fnRead[OPT_POSITIONYSPINBODY] = &ReadPositionY; - sprintf(options[OPT_POSITIONZSPINBODY].cName, "dPositionZSpiNBody"); - sprintf(options[OPT_POSITIONZSPINBODY].cDescr, "Z position of the body"); - sprintf(options[OPT_POSITIONZSPINBODY].cDefault, "0"); - sprintf(options[OPT_POSITIONZSPINBODY].cDimension, "length"); + fvFormattedString(&options[OPT_POSITIONZSPINBODY].cName, "dPositionZSpiNBody"); + fvFormattedString(&options[OPT_POSITIONZSPINBODY].cDescr, "Z position of the body"); + fvFormattedString(&options[OPT_POSITIONZSPINBODY].cDefault, "0"); + fvFormattedString(&options[OPT_POSITIONZSPINBODY].cDimension, "length"); options[OPT_POSITIONZSPINBODY].dDefault = 0.0; options[OPT_POSITIONZSPINBODY].iType = 2; options[OPT_POSITIONZSPINBODY].bMultiFile = 1; fnRead[OPT_POSITIONZSPINBODY] = &ReadPositionZ; - sprintf(options[OPT_VELXSPINBODY].cName, "dVelXSpiNBody"); - sprintf(options[OPT_VELXSPINBODY].cDescr, "X velocity of the body"); - sprintf(options[OPT_VELXSPINBODY].cDefault, "0"); - sprintf(options[OPT_VELXSPINBODY].cDimension, "length/time"); + fvFormattedString(&options[OPT_VELXSPINBODY].cName, "dVelXSpiNBody"); + fvFormattedString(&options[OPT_VELXSPINBODY].cDescr, "X velocity of the body"); + fvFormattedString(&options[OPT_VELXSPINBODY].cDefault, "0"); + fvFormattedString(&options[OPT_VELXSPINBODY].cDimension, "length/time"); options[OPT_VELXSPINBODY].dDefault = 0.0; options[OPT_VELXSPINBODY].iType = 2; options[OPT_VELXSPINBODY].bMultiFile = 1; fnRead[OPT_VELXSPINBODY] = &ReadVelX; - sprintf(options[OPT_VELYSPINBODY].cName, "dVelYSpiNBody"); - sprintf(options[OPT_VELYSPINBODY].cDescr, "Y velocity of the body"); - sprintf(options[OPT_VELYSPINBODY].cDefault, "0"); - sprintf(options[OPT_VELYSPINBODY].cDimension, "length/time"); + fvFormattedString(&options[OPT_VELYSPINBODY].cName, "dVelYSpiNBody"); + fvFormattedString(&options[OPT_VELYSPINBODY].cDescr, "Y velocity of the body"); + fvFormattedString(&options[OPT_VELYSPINBODY].cDefault, "0"); + fvFormattedString(&options[OPT_VELYSPINBODY].cDimension, "length/time"); options[OPT_VELYSPINBODY].dDefault = 0.0; options[OPT_VELYSPINBODY].iType = 2; options[OPT_VELYSPINBODY].bMultiFile = 1; fnRead[OPT_VELYSPINBODY] = &ReadVelY; - sprintf(options[OPT_VELZSPINBODY].cName, "dVelZSpiNBody"); - sprintf(options[OPT_VELZSPINBODY].cDescr, "Z velocity of the body"); - sprintf(options[OPT_VELZSPINBODY].cDefault, "0"); - sprintf(options[OPT_VELZSPINBODY].cDimension, "length/time"); + fvFormattedString(&options[OPT_VELZSPINBODY].cName, "dVelZSpiNBody"); + fvFormattedString(&options[OPT_VELZSPINBODY].cDescr, "Z velocity of the body"); + fvFormattedString(&options[OPT_VELZSPINBODY].cDefault, "0"); + fvFormattedString(&options[OPT_VELZSPINBODY].cDimension, "length/time"); options[OPT_VELZSPINBODY].dDefault = 0.0; options[OPT_VELZSPINBODY].iType = 2; options[OPT_VELZSPINBODY].bMultiFile = 1; fnRead[OPT_VELZSPINBODY] = &ReadVelZ; - sprintf(options[OPT_MEANA].cName, "dMeanA"); - sprintf(options[OPT_MEANA].cDescr, "Mean anomaly"); - sprintf(options[OPT_MEANA].cDefault, "0.0"); - sprintf(options[OPT_MEANA].cDimension, "angle"); + fvFormattedString(&options[OPT_MEANA].cName, "dMeanA"); + fvFormattedString(&options[OPT_MEANA].cDescr, "Mean anomaly"); + fvFormattedString(&options[OPT_MEANA].cDefault, "0.0"); + fvFormattedString(&options[OPT_MEANA].cDimension, "angle"); options[OPT_MEANA].dDefault = 0.0; options[OPT_MEANA].iType = 2; options[OPT_MEANA].bMultiFile = 1; fnRead[OPT_MEANA] = &ReadMeanA; - sprintf(options[OPT_USEORBPARAMS].cName, "bUseOrbParams"); - sprintf(options[OPT_USEORBPARAMS].cDescr, + fvFormattedString(&options[OPT_USEORBPARAMS].cName, "bUseOrbParams"); + fvFormattedString(&options[OPT_USEORBPARAMS].cDescr, "Flag to use orbital parameters as inputs"); - sprintf(options[OPT_USEORBPARAMS].cDefault, "0"); + fvFormattedString(&options[OPT_USEORBPARAMS].cDefault, "0"); options[OPT_USEORBPARAMS].dDefault = 0; options[OPT_USEORBPARAMS].iType = 0; options[OPT_USEORBPARAMS].bMultiFile = 1; @@ -963,75 +963,75 @@ void InitializeOutputSpiNBody(OUTPUT *output, fnWriteOutput fnWrite[]) { // Output example for dPositionX variable // XXX All of these should be deprecated so that it doesn't matter if the user // calls DistOrb or SpiNBody - sprintf(output[OUT_POSITIONXSPINBODY].cName, "PositionXSpiNBody"); - sprintf(output[OUT_POSITIONXSPINBODY].cDescr, + fvFormattedString(&output[OUT_POSITIONXSPINBODY].cName, "PositionXSpiNBody"); + fvFormattedString(&output[OUT_POSITIONXSPINBODY].cDescr, "Body's x position in SpiNBody"); - // sprintf(output[OUT_POSITIONXSPINBODY].cNeg," "); + // fvFormattedString(output[OUT_POSITIONXSPINBODY].cNeg," "); output[OUT_POSITIONXSPINBODY].bNeg = 0; // output[OUT_POSITIONXSPINBODY].dNeg = 1; output[OUT_POSITIONXSPINBODY].iNum = 1; output[OUT_POSITIONXSPINBODY].iModuleBit = SPINBODY; fnWrite[OUT_POSITIONXSPINBODY] = &WritePositionX; - sprintf(output[OUT_POSITIONYSPINBODY].cName, "PositionYSpiNBody"); - sprintf(output[OUT_POSITIONYSPINBODY].cDescr, + fvFormattedString(&output[OUT_POSITIONYSPINBODY].cName, "PositionYSpiNBody"); + fvFormattedString(&output[OUT_POSITIONYSPINBODY].cDescr, "Body's y position in SpiNBody"); - // sprintf(output[OUT_POSITIONYSPINBODY].cNeg," "); + // fvFormattedString(output[OUT_POSITIONYSPINBODY].cNeg," "); output[OUT_POSITIONYSPINBODY].bNeg = 0; // output[OUT_POSITIONYSPINBODY].dNeg = 1; output[OUT_POSITIONYSPINBODY].iNum = 1; output[OUT_POSITIONYSPINBODY].iModuleBit = SPINBODY; fnWrite[OUT_POSITIONYSPINBODY] = &WritePositionY; - sprintf(output[OUT_POSITIONZSPINBODY].cName, "PositionZSpiNBody"); - sprintf(output[OUT_POSITIONZSPINBODY].cDescr, + fvFormattedString(&output[OUT_POSITIONZSPINBODY].cName, "PositionZSpiNBody"); + fvFormattedString(&output[OUT_POSITIONZSPINBODY].cDescr, "Body's z position in SpiNBody"); - // sprintf(output[OUT_POSITIONZSPINBODY].cNeg," "); + // fvFormattedString(output[OUT_POSITIONZSPINBODY].cNeg," "); output[OUT_POSITIONZSPINBODY].bNeg = 0; // output[OUT_POSITIONZSPINBODY].dNeg = 1; output[OUT_POSITIONZSPINBODY].iNum = 1; output[OUT_POSITIONZSPINBODY].iModuleBit = SPINBODY; fnWrite[OUT_POSITIONZSPINBODY] = &WritePositionZ; - sprintf(output[OUT_VELXSPINBODY].cName, "VelXSpiNBody"); - sprintf(output[OUT_VELXSPINBODY].cDescr, "Body's x velocity in SpiNBody"); - // sprintf(output[OUT_VELXSPINBODY].cNeg," "); + fvFormattedString(&output[OUT_VELXSPINBODY].cName, "VelXSpiNBody"); + fvFormattedString(&output[OUT_VELXSPINBODY].cDescr, "Body's x velocity in SpiNBody"); + // fvFormattedString(output[OUT_VELXSPINBODY].cNeg," "); output[OUT_VELXSPINBODY].bNeg = 0; // output[OUT_VELXSPINBODY].dNeg = 1; output[OUT_VELXSPINBODY].iNum = 1; output[OUT_VELXSPINBODY].iModuleBit = SPINBODY; fnWrite[OUT_VELXSPINBODY] = &WriteVelX; - sprintf(output[OUT_VELYSPINBODY].cName, "VelYSpiNBody"); - sprintf(output[OUT_VELYSPINBODY].cDescr, "Body's y velocity in SpiNBody"); - // sprintf(output[OUT_VELYSPINBODY].cNeg," "); + fvFormattedString(&output[OUT_VELYSPINBODY].cName, "VelYSpiNBody"); + fvFormattedString(&output[OUT_VELYSPINBODY].cDescr, "Body's y velocity in SpiNBody"); + // fvFormattedString(output[OUT_VELYSPINBODY].cNeg," "); output[OUT_VELYSPINBODY].bNeg = 0; // output[OUT_VELYSPINBODY].dNeg = 1; output[OUT_VELYSPINBODY].iNum = 1; output[OUT_VELYSPINBODY].iModuleBit = SPINBODY; fnWrite[OUT_VELYSPINBODY] = &WriteVelY; - sprintf(output[OUT_VELZSPINBODY].cName, "VelZSpiNBody"); - sprintf(output[OUT_VELZSPINBODY].cDescr, "Body's z velocity in SpiNBody"); - // sprintf(output[OUT_VELZSPINBODY].cNeg," "); + fvFormattedString(&output[OUT_VELZSPINBODY].cName, "VelZSpiNBody"); + fvFormattedString(&output[OUT_VELZSPINBODY].cDescr, "Body's z velocity in SpiNBody"); + // fvFormattedString(output[OUT_VELZSPINBODY].cNeg," "); output[OUT_VELZSPINBODY].bNeg = 0; // output[OUT_VELZSPINBODY].dNeg = 1; output[OUT_VELZSPINBODY].iNum = 1; output[OUT_VELZSPINBODY].iModuleBit = SPINBODY; fnWrite[OUT_VELZSPINBODY] = &WriteVelZ; - sprintf(output[OUT_INCSPINBODY].cName, "SpiNBodyInc"); - sprintf(output[OUT_INCSPINBODY].cDescr, "Body's inclination in SpiNBody"); - sprintf(output[OUT_INCSPINBODY].cNeg, "Deg"); + fvFormattedString(&output[OUT_INCSPINBODY].cName, "SpiNBodyInc"); + fvFormattedString(&output[OUT_INCSPINBODY].cDescr, "Body's inclination in SpiNBody"); + fvFormattedString(&output[OUT_INCSPINBODY].cNeg, "Deg"); output[OUT_INCSPINBODY].bNeg = 1; output[OUT_INCSPINBODY].dNeg = 1. / DEGRAD; output[OUT_INCSPINBODY].iNum = 1; output[OUT_INCSPINBODY].iModuleBit = SPINBODY; fnWrite[OUT_INCSPINBODY] = &WriteInclinationSpinBody; - sprintf(output[OUT_LONGASPINBODY].cName, "SpiNBodyLongA"); - sprintf(output[OUT_LONGASPINBODY].cDescr, "Body's inclination in SpiNBody"); - sprintf(output[OUT_LONGASPINBODY].cNeg, "Deg"); + fvFormattedString(&output[OUT_LONGASPINBODY].cName, "SpiNBodyLongA"); + fvFormattedString(&output[OUT_LONGASPINBODY].cDescr, "Body's inclination in SpiNBody"); + fvFormattedString(&output[OUT_LONGASPINBODY].cNeg, "Deg"); output[OUT_LONGASPINBODY].bNeg = 1; output[OUT_LONGASPINBODY].dNeg = 1. / DEGRAD; output[OUT_LONGASPINBODY].iNum = 1; diff --git a/src/stellar.c b/src/stellar.c index 8af86f9c2..3bbae058b 100644 --- a/src/stellar.c +++ b/src/stellar.c @@ -420,58 +420,58 @@ void ReadHaltEndBaraffeGrid(BODY *body, CONTROL *control, FILES *files, void InitializeOptionsStellar(OPTIONS *options, fnReadOption fnRead[]) { int iOpt, iFile; - sprintf(options[OPT_SATXUVFRAC].cName, "dSatXUVFrac"); - sprintf(options[OPT_SATXUVFRAC].cDescr, "Saturated XUV luminosity fraction"); - sprintf(options[OPT_SATXUVFRAC].cDefault, "1e-3"); - sprintf(options[OPT_SATXUVFRAC].cDimension, "nd"); + fvFormattedString(&options[OPT_SATXUVFRAC].cName, "dSatXUVFrac"); + fvFormattedString(&options[OPT_SATXUVFRAC].cDescr, "Saturated XUV luminosity fraction"); + fvFormattedString(&options[OPT_SATXUVFRAC].cDefault, "1e-3"); + fvFormattedString(&options[OPT_SATXUVFRAC].cDimension, "nd"); options[OPT_SATXUVFRAC].dDefault = 1.e-3; options[OPT_SATXUVFRAC].iType = 2; options[OPT_SATXUVFRAC].bMultiFile = 1; fnRead[OPT_SATXUVFRAC] = &ReadSatXUVFrac; - sprintf( - options[OPT_SATXUVFRAC].cLongDescr, + fvFormattedString( + &options[OPT_SATXUVFRAC].cLongDescr, "After formation stars emit a nearly constant amount of XUV radiation\n" "for a time called the \"saturated\" phase. This parameter sets that " "value\n" "relative to the total (bolometric) luminosity. Must lie in range " "[0,1]."); - sprintf(options[OPT_SATXUVTIME].cName, "dSatXUVTime"); - sprintf(options[OPT_SATXUVTIME].cDescr, "XUV saturation time"); - sprintf(options[OPT_SATXUVTIME].cDefault, "0.1 Gyr"); - sprintf(options[OPT_SATXUVTIME].cDimension, "time"); + fvFormattedString(&options[OPT_SATXUVTIME].cName, "dSatXUVTime"); + fvFormattedString(&options[OPT_SATXUVTIME].cDescr, "XUV saturation time"); + fvFormattedString(&options[OPT_SATXUVTIME].cDefault, "0.1 Gyr"); + fvFormattedString(&options[OPT_SATXUVTIME].cDimension, "time"); options[OPT_SATXUVTIME].dDefault = 1.e8 * YEARSEC; options[OPT_SATXUVTIME].iType = 0; options[OPT_SATXUVTIME].bMultiFile = 1; options[OPT_SATXUVTIME].dNeg = 1e9 * YEARSEC; - sprintf(options[OPT_SATXUVTIME].cNeg, "Gyr"); + fvFormattedString(&options[OPT_SATXUVTIME].cNeg, "Gyr"); fnRead[OPT_SATXUVTIME] = &ReadSatXUVTime; - sprintf(options[OPT_SATXUVTIME].cLongDescr, + fvFormattedString(&options[OPT_SATXUVTIME].cLongDescr, "The time a star will remain in its \"saturated\" phase."); - sprintf(options[OPT_XUVBETA].cName, "dXUVBeta"); - sprintf(options[OPT_XUVBETA].cDescr, "XUV decay power law exponent"); - sprintf(options[OPT_XUVBETA].cDefault, "1.23"); - sprintf(options[OPT_XUVBETA].cDimension, "nd"); + fvFormattedString(&options[OPT_XUVBETA].cName, "dXUVBeta"); + fvFormattedString(&options[OPT_XUVBETA].cDescr, "XUV decay power law exponent"); + fvFormattedString(&options[OPT_XUVBETA].cDefault, "1.23"); + fvFormattedString(&options[OPT_XUVBETA].cDimension, "nd"); options[OPT_XUVBETA].dDefault = 1.23; options[OPT_XUVBETA].iType = 2; options[OPT_XUVBETA].bMultiFile = 1; fnRead[OPT_XUVBETA] = &ReadXUVBeta; - sprintf(options[OPT_XUVBETA].cLongDescr, + fvFormattedString(&options[OPT_XUVBETA].cLongDescr, "After the \"saturation\" phase, the ratio of the XUV to total " "luminosity\n" "will follow a power law followinfg this exponent. Units are " "gigayears."); - sprintf(options[OPT_STELLARMODEL].cName, "sStellarModel"); - sprintf(options[OPT_STELLARMODEL].cDescr, "Stellar evolution model"); - sprintf(options[OPT_STELLARMODEL].cDefault, "BARAFFE"); - sprintf(options[OPT_STELLARMODEL].cValues, "BARAFFE PROXIMA SINEWAVE NONE"); + fvFormattedString(&options[OPT_STELLARMODEL].cName, "sStellarModel"); + fvFormattedString(&options[OPT_STELLARMODEL].cDescr, "Stellar evolution model"); + fvFormattedString(&options[OPT_STELLARMODEL].cDefault, "BARAFFE"); + fvFormattedString(&options[OPT_STELLARMODEL].cValues, "BARAFFE PROXIMA SINEWAVE NONE"); options[OPT_STELLARMODEL].iType = 3; options[OPT_STELLARMODEL].bMultiFile = 1; fnRead[OPT_STELLARMODEL] = &ReadStellarModel; - sprintf( - options[OPT_STELLARMODEL].cLongDescr, + fvFormattedString( + &options[OPT_STELLARMODEL].cLongDescr, "If BARAFFE is selected, luminosity, effective temperature, radius, " "and\n" "radius of gyration will follow the model of Baraffe, I. et al.\n" @@ -480,15 +480,15 @@ void InitializeOptionsStellar(OPTIONS *options, fnReadOption fnRead[]) { "(2016, arXiv:1608.06919). SINEWAVE produces oscillatory luminosity.\n" "NONE will leave them constant.\n"); - sprintf(options[OPT_MAGBRAKINGMODEL].cName, "sMagBrakingModel"); - sprintf(options[OPT_MAGBRAKINGMODEL].cDescr, "Magnetic braking model."); - sprintf(options[OPT_MAGBRAKINGMODEL].cDefault, "REINERS"); - sprintf(options[OPT_MAGBRAKINGMODEL].cValues, + fvFormattedString(&options[OPT_MAGBRAKINGMODEL].cName, "sMagBrakingModel"); + fvFormattedString(&options[OPT_MAGBRAKINGMODEL].cDescr, "Magnetic braking model."); + fvFormattedString(&options[OPT_MAGBRAKINGMODEL].cDefault, "REINERS"); + fvFormattedString(&options[OPT_MAGBRAKINGMODEL].cValues, "REINERS, SKUMANICH, MATT, NONE"); options[OPT_MAGBRAKINGMODEL].iType = 3; options[OPT_MAGBRAKINGMODEL].bMultiFile = 1; fnRead[OPT_MAGBRAKINGMODEL] = &ReadMagBrakingModel; - sprintf(options[OPT_STELLARMODEL].cLongDescr, + fvFormattedString(&options[OPT_STELLARMODEL].cLongDescr, "If REINERS is selected, the stellar magnetic braking model of\n" "Reiners & Mohanty (2012, ApJ, 746, 43) is used to modify the " "rotation rate.\n" @@ -496,27 +496,27 @@ void InitializeOptionsStellar(OPTIONS *options, fnReadOption fnRead[]) { "MATT uses the model from Matt, S. et al. (2015, ApJ, 799, 23).\n" "NONE applies no magnetic torque.\n"); - sprintf(options[OPT_WINDMODEL].cName, "sWindModel"); - sprintf(options[OPT_WINDMODEL].cDescr, "Wind Angular Momentum Loss Model"); - sprintf(options[OPT_WINDMODEL].cDefault, "REINERS"); + fvFormattedString(&options[OPT_WINDMODEL].cName, "sWindModel"); + fvFormattedString(&options[OPT_WINDMODEL].cDescr, "Wind Angular Momentum Loss Model"); + fvFormattedString(&options[OPT_WINDMODEL].cDefault, "REINERS"); options[OPT_WINDMODEL].iType = 3; options[OPT_WINDMODEL].bMultiFile = 1; fnRead[OPT_WINDMODEL] = &ReadWindModel; - sprintf(options[OPT_WINDMODEL].cLongDescr, + fvFormattedString(&options[OPT_WINDMODEL].cLongDescr, "If REINERS is selected, the stellar wind model of Reiners and " "Mohanty\n" "(2012, ApJ, 746, 43) is used to modify the rotation rate."); - sprintf(options[OPT_XUVMODEL].cName, "sXUVModel"); - sprintf(options[OPT_XUVMODEL].cDescr, "XUV Evolution Model"); - sprintf(options[OPT_XUVMODEL].cDefault, "RIBAS"); - sprintf(options[OPT_XUVMODEL].cValues, "RIBAS REINERS NONE"); + fvFormattedString(&options[OPT_XUVMODEL].cName, "sXUVModel"); + fvFormattedString(&options[OPT_XUVMODEL].cDescr, "XUV Evolution Model"); + fvFormattedString(&options[OPT_XUVMODEL].cDefault, "RIBAS"); + fvFormattedString(&options[OPT_XUVMODEL].cValues, "RIBAS REINERS NONE"); options[OPT_XUVMODEL].iType = 3; options[OPT_XUVMODEL].bMultiFile = 1; options[OPT_XUVMODEL].iModuleBit = STELLAR; fnRead[OPT_XUVMODEL] = &ReadXUVModel; - sprintf( - options[OPT_XUVMODEL].cLongDescr, + fvFormattedString( + &options[OPT_XUVMODEL].cLongDescr, "This parameter sets the XUV evolution model used in STELLAR. Setting\n" "this to RIBAS (default) will evolve the XUV luminosity according to \n" "the saturated power law of Ribas et al (2005, ApJ, 611, 680),\n" @@ -527,93 +527,93 @@ void InitializeOptionsStellar(OPTIONS *options, fnReadOption fnRead[]) { "parameter to NONE, in which case the XUV luminosity will remain " "constant."); - sprintf(options[OPT_HZMODEL].cName, "sHZModel"); - sprintf(options[OPT_HZMODEL].cDescr, "Habitable Zone Model: Kopparapu13"); - sprintf(options[OPT_HZMODEL].cDefault, "Kopparapu13"); + fvFormattedString(&options[OPT_HZMODEL].cName, "sHZModel"); + fvFormattedString(&options[OPT_HZMODEL].cDescr, "Habitable Zone Model: Kopparapu13"); + fvFormattedString(&options[OPT_HZMODEL].cDefault, "Kopparapu13"); options[OPT_HZMODEL].iType = 3; options[OPT_HZMODEL].bMultiFile = 1; fnRead[OPT_HZMODEL] = &ReadHZModel; - sprintf(options[OPT_HZMODEL].cLongDescr, + fvFormattedString(&options[OPT_HZMODEL].cLongDescr, "If KOPPARAPU13 is selected then the Recent Venus, Runaway " "Greenhouse,\n" "Maximum Greenhouse, and Early Mars habitable zone limits will be\n" "calculated from Kopparapu, R. et al. (2013, ApJ, 765, 131)."); - sprintf(options[OPT_HALTENDBARAFFEFGRID].cName, "bHaltEndBaraffeGrid"); - sprintf(options[OPT_HALTENDBARAFFEFGRID].cDescr, + fvFormattedString(&options[OPT_HALTENDBARAFFEFGRID].cName, "bHaltEndBaraffeGrid"); + fvFormattedString(&options[OPT_HALTENDBARAFFEFGRID].cDescr, "Halt when we reach the end of the Baraffe+15 grid?"); - sprintf(options[OPT_HALTENDBARAFFEFGRID].cDefault, "1"); + fvFormattedString(&options[OPT_HALTENDBARAFFEFGRID].cDefault, "1"); options[OPT_HALTENDBARAFFEFGRID].iType = 0; fnRead[OPT_HALTENDBARAFFEFGRID] = &ReadHaltEndBaraffeGrid; - sprintf(options[OPT_HALTENDBARAFFEFGRID].cLongDescr, + fvFormattedString(&options[OPT_HALTENDBARAFFEFGRID].cLongDescr, "The BARRAFFE stellar model will only compute parameters until the " "end of\n" "the main sequence. Setting this flag to 1 will halt the code if the " "end\n" "of the model grid is reached."); - sprintf(options[OPT_ROSSBYCUT].cName, "bRossbyCut"); - sprintf(options[OPT_ROSSBYCUT].cDescr, + fvFormattedString(&options[OPT_ROSSBYCUT].cName, "bRossbyCut"); + fvFormattedString(&options[OPT_ROSSBYCUT].cDescr, "Terminate magnetic braking when Rossby number > 2.08?"); - sprintf(options[OPT_ROSSBYCUT].cDefault, "0"); // XXX Units? + fvFormattedString(&options[OPT_ROSSBYCUT].cDefault, "0"); // XXX Units? options[OPT_ROSSBYCUT].iType = 0; options[OPT_ROSSBYCUT].bMultiFile = 1; options[OPT_ROSSBYCUT].iModuleBit = STELLAR; fnRead[OPT_ROSSBYCUT] = &ReadRossbyCut; - sprintf(options[OPT_ROSSBYCUT].cLongDescr, + fvFormattedString(&options[OPT_ROSSBYCUT].cLongDescr, "Van Saders, J. et al. (2019, ApJ, 872, 128) find that when the " "stellar\n" "Rossby number exceeds 2.08, then the magnetic braking is quenched. " "This\n" "flag enforces that behavior."); - sprintf(options[OPT_EVOVLERG].cName, "bEvolveRG"); - sprintf(options[OPT_EVOVLERG].cDescr, "Evolve stellar radius of gyration?"); - sprintf(options[OPT_EVOVLERG].cDefault, "1"); + fvFormattedString(&options[OPT_EVOVLERG].cName, "bEvolveRG"); + fvFormattedString(&options[OPT_EVOVLERG].cDescr, "Evolve stellar radius of gyration?"); + fvFormattedString(&options[OPT_EVOVLERG].cDefault, "1"); options[OPT_EVOVLERG].iType = 0; options[OPT_EVOVLERG].bMultiFile = 1; options[OPT_EVOVLERG].iModuleBit = STELLAR; fnRead[OPT_EVOVLERG] = &ReadEvolveRG; - sprintf(options[OPT_EVOVLERG].cLongDescr, + fvFormattedString(&options[OPT_EVOVLERG].cLongDescr, "Set this flag to 0 to ignore the role of mass concentration in " "stellar\n" "evolution. Only useful for testing purposes."); - sprintf(options[OPT_LUMAMPLITUDE].cName, "dLuminosityAmplitude"); - sprintf(options[OPT_LUMAMPLITUDE].cDescr, + fvFormattedString(&options[OPT_LUMAMPLITUDE].cName, "dLuminosityAmplitude"); + fvFormattedString(&options[OPT_LUMAMPLITUDE].cDescr, "Amplitude of luminosity oscillation for SINEWAVE stellar model"); - sprintf(options[OPT_LUMAMPLITUDE].cDefault, "0.001"); + fvFormattedString(&options[OPT_LUMAMPLITUDE].cDefault, "0.001"); options[OPT_LUMAMPLITUDE].dDefault = 0.001; options[OPT_LUMAMPLITUDE].iType = 0; options[OPT_LUMAMPLITUDE].bMultiFile = 1; options[OPT_LUMAMPLITUDE].iModuleBit = STELLAR; options[OPT_LUMAMPLITUDE].dNeg = LSUN; - sprintf(options[OPT_LUMAMPLITUDE].cNeg, "Solar Luminosity (LSUN)"); + fvFormattedString(&options[OPT_LUMAMPLITUDE].cNeg, "Solar Luminosity (LSUN)"); fnRead[OPT_LUMAMPLITUDE] = &ReadLuminosityAmplitude; - sprintf(options[OPT_LUMPERIOD].cName, "dLuminosityPeriod"); - sprintf(options[OPT_LUMPERIOD].cDescr, + fvFormattedString(&options[OPT_LUMPERIOD].cName, "dLuminosityPeriod"); + fvFormattedString(&options[OPT_LUMPERIOD].cDescr, "Period of luminosity oscillation for SINEWAVE stellar model"); - sprintf(options[OPT_LUMPERIOD].cDefault, "0.001"); + fvFormattedString(&options[OPT_LUMPERIOD].cDefault, "0.001"); options[OPT_LUMPERIOD].dDefault = 0.001; options[OPT_LUMPERIOD].iType = 0; options[OPT_LUMPERIOD].bMultiFile = 1; options[OPT_LUMPERIOD].iModuleBit = STELLAR; options[OPT_LUMPERIOD].dNeg = YEARSEC; - sprintf(options[OPT_LUMPERIOD].cNeg, "Years"); + fvFormattedString(&options[OPT_LUMPERIOD].cNeg, "Years"); fnRead[OPT_LUMPERIOD] = &ReadLuminosityPeriod; - sprintf(options[OPT_LUMPHASE].cName, "dLuminosityPhase"); - sprintf( - options[OPT_LUMPHASE].cDescr, + fvFormattedString(&options[OPT_LUMPHASE].cName, "dLuminosityPhase"); + fvFormattedString( + &options[OPT_LUMPHASE].cDescr, "Phase of luminosity oscillation at age=0 for SINEWAVE stellar model"); - sprintf(options[OPT_LUMPHASE].cDefault, "0"); + fvFormattedString(&options[OPT_LUMPHASE].cDefault, "0"); options[OPT_LUMPHASE].dDefault = 0; options[OPT_LUMPHASE].iType = 0; options[OPT_LUMPHASE].bMultiFile = 1; options[OPT_LUMPHASE].iModuleBit = STELLAR; options[OPT_LUMPHASE].dNeg = DEGRAD; - sprintf(options[OPT_LUMPHASE].cNeg, "Degrees"); + fvFormattedString(&options[OPT_LUMPHASE].cNeg, "Degrees"); fnRead[OPT_LUMPHASE] = &ReadLuminosityPhase; } @@ -1329,9 +1329,9 @@ void WriteDRotPerDtStellar(BODY *body, CONTROL *control, OUTPUT *output, void InitializeOutputStellar(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_LUMINOSITY].cName, "Luminosity"); - sprintf(output[OUT_LUMINOSITY].cDescr, "Luminosity"); - sprintf(output[OUT_LUMINOSITY].cNeg, "LSUN"); + fvFormattedString(&output[OUT_LUMINOSITY].cName, "Luminosity"); + fvFormattedString(&output[OUT_LUMINOSITY].cDescr, "Luminosity"); + fvFormattedString(&output[OUT_LUMINOSITY].cNeg, "LSUN"); output[OUT_LUMINOSITY].bNeg = 1; output[OUT_LUMINOSITY].dNeg = 1. / LSUN; output[OUT_LUMINOSITY].iNum = 1; @@ -1339,40 +1339,40 @@ void InitializeOutputStellar(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_LUMINOSITY] = &WriteLuminosity; // Maybe change to TEFF? XXX - sprintf(output[OUT_TEMPERATURE].cName, "Temperature"); - sprintf(output[OUT_TEMPERATURE].cDescr, "Effective Temperature"); + fvFormattedString(&output[OUT_TEMPERATURE].cName, "Temperature"); + fvFormattedString(&output[OUT_TEMPERATURE].cDescr, "Effective Temperature"); output[OUT_TEMPERATURE].bNeg = 0; output[OUT_TEMPERATURE].iNum = 1; output[OUT_TEMPERATURE].iModuleBit = STELLAR; fnWrite[OUT_TEMPERATURE] = &WriteTemperature; - sprintf(output[OUT_LXUV].cName, "LXUVStellar"); - sprintf(output[OUT_LXUV].cDescr, "Base X-ray/XUV Luminosity"); - sprintf(output[OUT_LXUV].cNeg, "LSUN"); + fvFormattedString(&output[OUT_LXUV].cName, "LXUVStellar"); + fvFormattedString(&output[OUT_LXUV].cDescr, "Base X-ray/XUV Luminosity"); + fvFormattedString(&output[OUT_LXUV].cNeg, "LSUN"); output[OUT_LXUV].bNeg = 1; output[OUT_LXUV].dNeg = 1. / LSUN; output[OUT_LXUV].iNum = 1; output[OUT_LXUV].iModuleBit = STELLAR; fnWrite[OUT_LXUV] = &WriteLXUV; - sprintf(output[OUT_LXUVFRAC].cName, "LXUVFrac"); - sprintf(output[OUT_LXUVFRAC].cDescr, "Fraction of luminosity in XUV"); + fvFormattedString(&output[OUT_LXUVFRAC].cName, "LXUVFrac"); + fvFormattedString(&output[OUT_LXUVFRAC].cDescr, "Fraction of luminosity in XUV"); output[OUT_LXUVFRAC].bNeg = 0; output[OUT_LXUVFRAC].iNum = 1; output[OUT_LXUVFRAC].iModuleBit = STELLAR; fnWrite[OUT_LXUVFRAC] = &WriteLXUVFrac; - sprintf(output[OUT_ROSSBYNUMBER].cName, "RossbyNumber"); - sprintf(output[OUT_ROSSBYNUMBER].cDescr, "Rossby Number"); + fvFormattedString(&output[OUT_ROSSBYNUMBER].cName, "RossbyNumber"); + fvFormattedString(&output[OUT_ROSSBYNUMBER].cDescr, "Rossby Number"); output[OUT_ROSSBYNUMBER].bNeg = 0; output[OUT_ROSSBYNUMBER].iNum = 1; output[OUT_ROSSBYNUMBER].iModuleBit = STELLAR; fnWrite[OUT_ROSSBYNUMBER] = &WriteRossbyNumber; - sprintf(output[OUT_DROTPERDTSTELLAR].cName, "DRotPerDtStellar"); - sprintf(output[OUT_DROTPERDTSTELLAR].cDescr, + fvFormattedString(&output[OUT_DROTPERDTSTELLAR].cName, "DRotPerDtStellar"); + fvFormattedString(&output[OUT_DROTPERDTSTELLAR].cDescr, "Time Rate of Change of Rotation Period in STELLAR"); - sprintf(output[OUT_DROTPERDTSTELLAR].cNeg, "days/Myr"); + fvFormattedString(&output[OUT_DROTPERDTSTELLAR].cNeg, "days/Myr"); output[OUT_DROTPERDTSTELLAR].bNeg = 1; output[OUT_DROTPERDTSTELLAR].dNeg = DAYSEC / (YEARSEC * 1e6); output[OUT_DROTPERDTSTELLAR].iNum = 1; diff --git a/src/thermint.c b/src/thermint.c index bf26af644..2762c068b 100644 --- a/src/thermint.c +++ b/src/thermint.c @@ -1181,273 +1181,245 @@ void fvReadImK2ManOrbModel(BODY *body, CONTROL *control, FILES *files, void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { int iOpt, iFile; - /* TSurf */ - sprintf(options[OPT_TSURF].cName, "dTSurf"); - sprintf(options[OPT_TSURF].cDescr, "Initial Surface Temperature"); - sprintf(options[OPT_TSURF].cDefault, "300 K"); - sprintf(options[OPT_TSURF].cDimension, "temperature"); + fvFormattedString(&options[OPT_TSURF].cName, "dTSurf"); + fvFormattedString(&options[OPT_TSURF].cDescr, "Initial Surface Temperature"); + fvFormattedString(&options[OPT_TSURF].cDefault, "300 K"); + fvFormattedString(&options[OPT_TSURF].cDimension, "temperature"); options[OPT_TSURF].iType = 2; options[OPT_TSURF].bMultiFile = 1; options[OPT_TSURF].dNeg = 1; // Not sure about this?? options[OPT_TSURF].dDefault = TSURF; - sprintf(options[OPT_TSURF].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_TSURF].cNeg, "No negative behavior"); fnRead[OPT_TSURF] = &fvReadTSurf; - /* TMan */ - sprintf(options[OPT_TMAN].cName, "dTMan"); - sprintf(options[OPT_TMAN].cDescr, "Initial Mantle Temperature"); - sprintf(options[OPT_TMAN].cDefault, "3000 K"); - sprintf(options[OPT_TMAN].cDimension, "temperature"); + fvFormattedString(&options[OPT_TMAN].cName, "dTMan"); + fvFormattedString(&options[OPT_TMAN].cDescr, "Initial Mantle Temperature"); + fvFormattedString(&options[OPT_TMAN].cDefault, "3000 K"); + fvFormattedString(&options[OPT_TMAN].cDimension, "temperature"); options[OPT_TMAN].iType = 2; options[OPT_TMAN].bMultiFile = 1; options[OPT_TMAN].dNeg = 3000.0; // Not sure about this?? options[OPT_TMAN].dDefault = 3000.0; - sprintf(options[OPT_TMAN].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_TMAN].cNeg, "No negative behavior"); fnRead[OPT_TMAN] = &fvReadTMan; - /* TCore */ - sprintf(options[OPT_TCORE].cName, "dTCore"); - sprintf(options[OPT_TCORE].cDescr, "Initial Core Temperature"); - sprintf(options[OPT_TCORE].cDefault, "6000 K"); - sprintf(options[OPT_TCORE].cDimension, "temperature"); + fvFormattedString(&options[OPT_TCORE].cName, "dTCore"); + fvFormattedString(&options[OPT_TCORE].cDescr, "Initial Core Temperature"); + fvFormattedString(&options[OPT_TCORE].cDefault, "6000 K"); + fvFormattedString(&options[OPT_TCORE].cDimension, "temperature"); options[OPT_TCORE].iType = 2; options[OPT_TCORE].bMultiFile = 1; options[OPT_TCORE].dNeg = 6000.0; // Not sure about this?? options[OPT_TCORE].dDefault = 6000.0; - sprintf(options[OPT_TCORE].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_TCORE].cNeg, "No negative behavior"); fnRead[OPT_TCORE] = &fvReadTCore; - /* ViscJumpMan */ - sprintf(options[OPT_VISCJUMPMAN].cName, "dViscJumpMan"); - sprintf(options[OPT_VISCJUMPMAN].cDescr, "ViscJumpMan"); - sprintf(options[OPT_VISCJUMPMAN].cDefault, "VISCJUMPMAN"); - sprintf(options[OPT_VISCJUMPMAN].cDimension, "nd"); + fvFormattedString(&options[OPT_VISCJUMPMAN].cName, "dViscJumpMan"); + fvFormattedString(&options[OPT_VISCJUMPMAN].cDescr, "ViscJumpMan"); + fvFormattedString(&options[OPT_VISCJUMPMAN].cDefault, "VISCJUMPMAN"); + fvFormattedString(&options[OPT_VISCJUMPMAN].cDimension, "nd"); options[OPT_VISCJUMPMAN].iType = 2; options[OPT_VISCJUMPMAN].bMultiFile = 1; options[OPT_VISCJUMPMAN].dNeg = VISCJUMPMAN; options[OPT_VISCJUMPMAN].dDefault = VISCJUMPMAN; - sprintf(options[OPT_VISCJUMPMAN].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_VISCJUMPMAN].cNeg, "No negative behavior"); fnRead[OPT_VISCJUMPMAN] = &fvReadViscJumpMan; - // Needs a LongDescr - sprintf(options[OPT_VISCJUMPMAN].cLongDescr, + 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)."); - /* ViscRef */ - sprintf(options[OPT_VISCREF].cName, "dViscRef"); - sprintf(options[OPT_VISCREF].cDescr, "ViscRef"); - sprintf(options[OPT_VISCREF].cDefault, "1"); - sprintf(options[OPT_VISCREF].cDimension, "length^2/time"); + fvFormattedString(&options[OPT_VISCREF].cName, "dViscRef"); + fvFormattedString(&options[OPT_VISCREF].cDescr, "ViscRef"); + fvFormattedString(&options[OPT_VISCREF].cDefault, "1"); + fvFormattedString(&options[OPT_VISCREF].cDimension, "length^2/time"); options[OPT_VISCREF].iType = 2; options[OPT_VISCREF].bMultiFile = 1; options[OPT_VISCREF].dNeg = VISCREF; options[OPT_VISCREF].dDefault = VISCREF; - sprintf(options[OPT_VISCREF].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_VISCREF].cNeg, "No negative behavior"); fnRead[OPT_VISCREF] = &fvReadViscRef; - // Needs a LongDescr - sprintf(options[OPT_VISCREF].cLongDescr, + fvFormattedString(&options[OPT_VISCREF].cLongDescr, "Coefficient in front of viscosity equation \n" "see eq (159) in Barnes et al. (2020)."); - /* TrefLind */ - sprintf(options[OPT_TREFLIND].cName, "dTrefLind"); - sprintf(options[OPT_TREFLIND].cDescr, "TrefLind"); - sprintf(options[OPT_TREFLIND].cDefault, "Value in thermint.h"); - sprintf(options[OPT_TREFLIND].cDimension, "temperature"); + fvFormattedString(&options[OPT_TREFLIND].cName, "dTrefLind"); + fvFormattedString(&options[OPT_TREFLIND].cDescr, "TrefLind"); + fvFormattedString(&options[OPT_TREFLIND].cDefault, "Value in thermint.h"); + fvFormattedString(&options[OPT_TREFLIND].cDimension, "temperature"); options[OPT_TREFLIND].iType = 2; options[OPT_TREFLIND].bMultiFile = 1; options[OPT_TREFLIND].dNeg = 1; // XXX If negative, is really expressed in terms of TREFLIND?? options[OPT_TREFLIND].dDefault = TREFLIND; - sprintf(options[OPT_TREFLIND].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_TREFLIND].cNeg, "No negative behavior"); fnRead[OPT_TREFLIND] = &fvReadTrefLind; - sprintf(options[OPT_TREFLIND].cLongDescr, + 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)"); - /* DTChiRef */ - sprintf(options[OPT_DTCHIREF].cName, "dDTChiRef"); - sprintf(options[OPT_DTCHIREF].cDescr, "DTChiRef"); - sprintf(options[OPT_DTCHIREF].cDefault, "Value in thermint.h"); - sprintf(options[OPT_DTCHIREF].cDimension, "temperature"); + fvFormattedString(&options[OPT_DTCHIREF].cName, "dDTChiRef"); + fvFormattedString(&options[OPT_DTCHIREF].cDescr, "DTChiRef"); + fvFormattedString(&options[OPT_DTCHIREF].cDefault, "Value in thermint.h"); + fvFormattedString(&options[OPT_DTCHIREF].cDimension, "temperature"); options[OPT_DTCHIREF].iType = 2; options[OPT_DTCHIREF].bMultiFile = 1; options[OPT_DTCHIREF].dNeg = 1; options[OPT_DTCHIREF].dDefault = DTCHIREF; - sprintf(options[OPT_DTCHIREF].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_DTCHIREF].cNeg, "No negative behavior"); fnRead[OPT_DTCHIREF] = &fvReadDTChiRef; - // Needs a LongDescr - sprintf( - options[OPT_DTCHIREF].cLongDescr, + fvFormattedString( + &options[OPT_DTCHIREF].cLongDescr, "Core liquidus (melting temperature) depression due to the presence \n" "of light elements in the core. See eq (175) in Barnes et al (2020)."); - /* EruptEff */ - sprintf(options[OPT_ERUPTEFF].cName, "dEruptEff"); - sprintf(options[OPT_ERUPTEFF].cDescr, "Melt Eruption Efficiency"); - sprintf(options[OPT_ERUPTEFF].cDefault, "ERUPTEFF"); - sprintf(options[OPT_ERUPTEFF].cDimension, "nd"); + fvFormattedString(&options[OPT_ERUPTEFF].cName, "dEruptEff"); + fvFormattedString(&options[OPT_ERUPTEFF].cDescr, "Melt Eruption Efficiency"); + fvFormattedString(&options[OPT_ERUPTEFF].cDefault, "ERUPTEFF"); + fvFormattedString(&options[OPT_ERUPTEFF].cDimension, "nd"); options[OPT_ERUPTEFF].iType = 2; options[OPT_ERUPTEFF].bMultiFile = 1; options[OPT_ERUPTEFF].dNeg = ERUPTEFF; // XXX options[OPT_ERUPTEFF].dDefault = ERUPTEFF; - sprintf(options[OPT_ERUPTEFF].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_ERUPTEFF].cNeg, "No negative behavior"); fnRead[OPT_ERUPTEFF] = &fvReadEruptEff; - // Needs a LongDescr - sprintf(options[OPT_ERUPTEFF].cLongDescr, + 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)."); - /* ViscMeltPhis */ - sprintf(options[OPT_VISCMELTPHIS].cName, "dViscMeltPhis"); - sprintf(options[OPT_VISCMELTPHIS].cDescr, "Viscosity Melt Factor Phi star"); - sprintf(options[OPT_VISCMELTPHIS].cDefault, "Default is VISCMELTPHIS"); - sprintf(options[OPT_VISCMELTPHIS].cDimension, "nd"); + 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].cDimension, "nd"); options[OPT_VISCMELTPHIS].iType = 2; options[OPT_VISCMELTPHIS].bMultiFile = 1; options[OPT_VISCMELTPHIS].dNeg = VISCMELTPHIS; // XXX options[OPT_VISCMELTPHIS].dDefault = VISCMELTPHIS; - sprintf(options[OPT_VISCMELTPHIS].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_VISCMELTPHIS].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTPHIS] = &fvReadViscMeltPhis; - sprintf( - options[OPT_VISCMELTPHIS].cLongDescr, + fvFormattedString( + &options[OPT_VISCMELTPHIS].cLongDescr, "Viscosity-melt reduction coefficient, \"phi*\" in Eq. 8 of Driscoll \n" "Bercovici (2015)."); - /* ViscMeltXi */ - sprintf(options[OPT_VISCMELTXI].cName, "dViscMeltXi"); - sprintf(options[OPT_VISCMELTXI].cDescr, "Viscosity Melt Factor Xi"); - sprintf(options[OPT_VISCMELTXI].cDefault, "Default is VISCMELTXI"); - sprintf(options[OPT_VISCMELTXI].cDimension, "nd"); + fvFormattedString(&options[OPT_VISCMELTXI].cName, "dViscMeltXi"); + 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; options[OPT_VISCMELTXI].bMultiFile = 1; options[OPT_VISCMELTXI].dNeg = VISCMELTXI; options[OPT_VISCMELTXI].dDefault = VISCMELTXI; - sprintf(options[OPT_VISCMELTXI].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_VISCMELTXI].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTXI] = &fvReadViscMeltXi; - // Needs a LongDescr - sprintf(options[OPT_VISCMELTXI].cLongDescr, + 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."); - /* ViscMeltGamma */ - sprintf(options[OPT_VISCMELTGAMMA].cName, "dViscMeltGamma"); - sprintf(options[OPT_VISCMELTGAMMA].cDescr, "Viscosity Melt Factor Gamma"); - sprintf(options[OPT_VISCMELTGAMMA].cDefault, "Default is VISCMELTGAMMA"); - sprintf(options[OPT_VISCMELTGAMMA].cDimension, "nd"); + 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].cDimension, "nd"); options[OPT_VISCMELTGAMMA].iType = 2; options[OPT_VISCMELTGAMMA].bMultiFile = 1; options[OPT_VISCMELTGAMMA].dNeg = VISCMELTGAMMA; options[OPT_VISCMELTGAMMA].dDefault = VISCMELTGAMMA; - sprintf(options[OPT_VISCMELTGAMMA].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_VISCMELTGAMMA].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTGAMMA] = &fvReadViscMeltGamma; - // Needs a LongDescr - sprintf(options[OPT_VISCMELTGAMMA].cLongDescr, + 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."); - /* ViscMeltDelta */ - sprintf(options[OPT_VISCMELTDELTA].cName, "dViscMeltDelta"); - sprintf(options[OPT_VISCMELTDELTA].cDescr, "Viscosity Melt Factor Delta"); - sprintf(options[OPT_VISCMELTDELTA].cDefault, "Default is VISCMELTDELTA"); - sprintf(options[OPT_VISCMELTDELTA].cDimension, "nd"); + 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].cDimension, "nd"); options[OPT_VISCMELTDELTA].iType = 2; options[OPT_VISCMELTDELTA].bMultiFile = 1; options[OPT_VISCMELTDELTA].dNeg = VISCMELTDELTA; options[OPT_VISCMELTDELTA].dDefault = VISCMELTDELTA; - sprintf(options[OPT_VISCMELTDELTA].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_VISCMELTDELTA].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTDELTA] = &fvReadViscMeltDelta; - // Needs a LongDescr - sprintf(options[OPT_VISCMELTDELTA].cLongDescr, + 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."); - /* ViscMeltB */ - sprintf(options[OPT_VISCMELTB].cName, "dViscMeltB"); - sprintf(options[OPT_VISCMELTB].cDescr, "Viscosity Melt Factor B"); - sprintf(options[OPT_VISCMELTB].cDefault, "Default is VISCMELTB"); - sprintf(options[OPT_VISCMELTB].cDimension, "nd"); + fvFormattedString(&options[OPT_VISCMELTB].cName, "dViscMeltB"); + fvFormattedString(&options[OPT_VISCMELTB].cDescr, "Viscosity Melt Factor B"); + fvFormattedString(&options[OPT_VISCMELTB].cDefault, "Default is VISCMELTB"); + fvFormattedString(&options[OPT_VISCMELTB].cDimension, "nd"); options[OPT_VISCMELTB].iType = 2; options[OPT_VISCMELTB].bMultiFile = 1; options[OPT_VISCMELTB].dNeg = VISCMELTB; options[OPT_VISCMELTB].dDefault = VISCMELTB; - sprintf(options[OPT_VISCMELTB].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_VISCMELTB].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTB] = &fvReadViscMeltB; - // Needs a LongDescr - sprintf(options[OPT_VISCMELTB].cLongDescr, + 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."); - /* MeltfactorLMan XXX Added by Rory -- Check!*/ - sprintf(options[OPT_MELTFACTORLMAN].cName, "dMeltfactorLMan"); - sprintf(options[OPT_MELTFACTORLMAN].cDescr, + fvFormattedString(&options[OPT_MELTFACTORLMAN].cName, "dMeltfactorLMan"); + fvFormattedString(&options[OPT_MELTFACTORLMAN].cDescr, "Lower Mantle Viscosity Melt Factor"); - sprintf(options[OPT_MELTFACTORLMAN].cDefault, "%f", MELTFACTORLMAN); - sprintf(options[OPT_MELTFACTORLMAN].cDimension, "nd"); + 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; - // sprintf(options[OPT_MELTFACTORLMAN].cNeg,"Default is MELTFACTORLMAN"); + // fvFormattedString(options[OPT_MELTFACTORLMAN].cNeg,"Default is MELTFACTORLMAN"); fnRead[OPT_MELTFACTORLMAN] = &fvReadMeltfactorLMan; - // Needs a LongDescr - sprintf( - options[OPT_MELTFACTORLMAN].cLongDescr, + fvFormattedString( + &options[OPT_MELTFACTORLMAN].cLongDescr, "Use to fix the lower mantle viscosity melt factor, defined as \n" "epsilon_phase in eq (159,160) of Barnes et al (2020). Note that \n" "this is an option. Default behavior is to compute this factor from \n" "the local temperature."); - /* MeltfactorUMan */ - sprintf(options[OPT_MELTFACTORUMAN].cName, "dMeltfactorUMan"); - sprintf(options[OPT_MELTFACTORUMAN].cDescr, + fvFormattedString(&options[OPT_MELTFACTORUMAN].cName, "dMeltfactorUMan"); + fvFormattedString(&options[OPT_MELTFACTORUMAN].cDescr, "Upper Mantle Viscosity Melt Factor"); - sprintf(options[OPT_MELTFACTORUMAN].cDefault, "%f", MELTFACTORUMAN); - sprintf(options[OPT_MELTFACTORUMAN].cDimension, "nd"); + fvFormattedString(&options[OPT_MELTFACTORUMAN].cDefault, "%f", MELTFACTORUMAN); + fvFormattedString(&options[OPT_MELTFACTORUMAN].cDimension, "nd"); options[OPT_MELTFACTORUMAN].iType = 2; options[OPT_MELTFACTORUMAN].bMultiFile = 1; options[OPT_MELTFACTORUMAN].dNeg = MELTFACTORUMAN; options[OPT_MELTFACTORUMAN].dDefault = MELTFACTORUMAN; - sprintf(options[OPT_MELTFACTORUMAN].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_MELTFACTORUMAN].cNeg, "No negative behavior"); fnRead[OPT_MELTFACTORUMAN] = &fvReadMeltfactorUMan; - // Needs a LongDescr - sprintf( - options[OPT_MELTFACTORUMAN].cLongDescr, + fvFormattedString( + &options[OPT_MELTFACTORUMAN].cLongDescr, "Use to fix the upper mantle viscosity melt factor, defined as \n" "epsilon_phase in eq (159,160) of Barnes et al (2020). Note that \n" "this is an option. Default behavior is to compute this factor from \n" "the local temperature."); - /* FixMeltfactorUMan */ - sprintf(options[OPT_FIXMELTFACTORUMAN].cName, "dFixMeltfactorUMan"); - sprintf(options[OPT_FIXMELTFACTORUMAN].cDescr, "Fix Viscosity Melt Factor"); - sprintf(options[OPT_FIXMELTFACTORUMAN].cDefault, + fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cName, "dFixMeltfactorUMan"); + fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cDescr, "Fix Viscosity Melt Factor"); + fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cDefault, "Default is FIXMELTFACTORUMAN"); - sprintf(options[OPT_FIXMELTFACTORUMAN].cDimension, "nd"); + 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; - sprintf(options[OPT_FIXMELTFACTORUMAN].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cNeg, "No negative behavior"); fnRead[OPT_FIXMELTFACTORUMAN] = &fvReadFixMeltfactorUMan; - // Needs a LongDescr - sprintf(options[OPT_FIXMELTFACTORUMAN].cLongDescr, + 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)."); - /* StagLid */ /* 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 sThermalMode with options pt, sl, and auto. XXX */ @@ -1456,149 +1428,144 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { used. I changed the cDefault and cNeg below. I don't think there is a negative value option here, right? Should a negative value print a warning? */ - sprintf(options[OPT_STAGLID].cName, "dStagLid"); - sprintf(options[OPT_STAGLID].cDescr, "Stagnant Lid Switch"); - sprintf(options[OPT_STAGLID].cDefault, "Default is STAGLID"); - sprintf(options[OPT_STAGLID].cDimension, "nd"); + fvFormattedString(&options[OPT_STAGLID].cName, "dStagLid"); + fvFormattedString(&options[OPT_STAGLID].cDescr, "Stagnant Lid Switch"); + fvFormattedString(&options[OPT_STAGLID].cDefault, "Default is STAGLID"); + fvFormattedString(&options[OPT_STAGLID].cDimension, "nd"); options[OPT_STAGLID].iType = 2; options[OPT_STAGLID].bMultiFile = 1; options[OPT_STAGLID].dNeg = STAGLID; options[OPT_STAGLID].dDefault = STAGLID; - sprintf(options[OPT_STAGLID].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_STAGLID].cNeg, "No negative behavior"); fnRead[OPT_STAGLID] = &fvReadStagLid; - /* ManHFlowPref */ - sprintf(options[OPT_MANHFLOWPREF].cName, "dManHFlowPref"); - sprintf(options[OPT_MANHFLOWPREF].cDescr, "Mantle HFlow Prefix"); - sprintf(options[OPT_MANHFLOWPREF].cDefault, "Default is MANHFLOWPREF"); - sprintf(options[OPT_MANHFLOWPREF].cDimension, "nd"); + 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].cDimension, "nd"); options[OPT_MANHFLOWPREF].iType = 2; options[OPT_MANHFLOWPREF].bMultiFile = 1; options[OPT_MANHFLOWPREF].dNeg = MANHFLOWPREF; options[OPT_MANHFLOWPREF].dDefault = MANHFLOWPREF; - sprintf(options[OPT_MANHFLOWPREF].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_MANHFLOWPREF].cNeg, "No negative behavior"); fnRead[OPT_MANHFLOWPREF] = &fvReadManHFlowPref; - // Needs a LongDescr - sprintf(options[OPT_MANHFLOWPREF].cLongDescr, + 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."); - /* MagMomCoef */ - sprintf(options[OPT_MAGMOMCOEF].cName, "dMagMomCoef"); - sprintf(options[OPT_MAGMOMCOEF].cDescr, "Magnetic Moment Coefficient"); - sprintf(options[OPT_MAGMOMCOEF].cDefault, "Default is MAGMOMCOEF"); - sprintf(options[OPT_MAGMOMCOEF].cDimension, "nd"); + fvFormattedString(&options[OPT_MAGMOMCOEF].cName, "dMagMomCoef"); + 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; options[OPT_MAGMOMCOEF].bMultiFile = 1; options[OPT_MAGMOMCOEF].dNeg = MAGMOMCOEF; options[OPT_MAGMOMCOEF].dDefault = MAGMOMCOEF; - sprintf(options[OPT_MAGMOMCOEF].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_MAGMOMCOEF].cNeg, "No negative behavior"); fnRead[OPT_MAGMOMCOEF] = &fvReadMagMomCoef; - // Needs a LongDescr - sprintf(options[OPT_MAGMOMCOEF].cLongDescr, + fvFormattedString(&options[OPT_MAGMOMCOEF].cLongDescr, "Coefficient in front of magnetic moment scaling law, \n" "gamma_d in eq (192) in Barnes et al (2020)."); - /* PresSWind */ - sprintf(options[OPT_PRESSWIND].cName, "dPresSWind"); - sprintf(options[OPT_PRESSWIND].cDescr, "Stellar Wind Pressure at body"); - sprintf(options[OPT_PRESSWIND].cDefault, "Default is EPRESSWIND"); - sprintf(options[OPT_PRESSWIND].cDimension, "pressure"); + fvFormattedString(&options[OPT_PRESSWIND].cName, "dPresSWind"); + 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; options[OPT_PRESSWIND].bMultiFile = 1; options[OPT_PRESSWIND].dNeg = EPRESSWIND; options[OPT_PRESSWIND].dDefault = EPRESSWIND; - sprintf(options[OPT_PRESSWIND].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_PRESSWIND].cNeg, "No negative behavior"); fnRead[OPT_PRESSWIND] = &fvReadPresSWind; /* Halt at Minimum Mantle Temperature */ - sprintf(options[OPT_HALTMINTMAN].cName, "dHaltMinTMan"); - sprintf(options[OPT_HALTMINTMAN].cDescr, + fvFormattedString(&options[OPT_HALTMINTMAN].cName, "dHaltMinTMan"); + fvFormattedString(&options[OPT_HALTMINTMAN].cDescr, "Halt at Minimum Mantle Temperature"); - sprintf(options[OPT_HALTMINTMAN].cDefault, "0 K"); - sprintf(options[OPT_HALTMINTMAN].cDimension, "temperature"); + fvFormattedString(&options[OPT_HALTMINTMAN].cDefault, "0 K"); + fvFormattedString(&options[OPT_HALTMINTMAN].cDimension, "temperature"); options[OPT_HALTMINTMAN].iType = 2; options[OPT_HALTMINTMAN].bMultiFile = 1; options[OPT_HALTMINTMAN].dNeg = 1; options[OPT_HALTMINTMAN].dDefault = 0; - sprintf(options[OPT_HALTMINTMAN].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_HALTMINTMAN].cNeg, "No negative behavior"); fnRead[OPT_HALTMINTMAN] = &fvReadHaltMinTMan; /* Halt at Minimum Core Temperature */ - sprintf(options[OPT_HALTMINTCORE].cName, "dHaltMinTCore"); - sprintf(options[OPT_HALTMINTCORE].cDescr, "Halt at Minimum Core Temperature"); - sprintf(options[OPT_HALTMINTCORE].cDefault, "0 K"); - sprintf(options[OPT_HALTMINTCORE].cDimension, "temperature"); + fvFormattedString(&options[OPT_HALTMINTCORE].cName, "dHaltMinTCore"); + 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; options[OPT_HALTMINTCORE].bMultiFile = 1; options[OPT_HALTMINTCORE].dNeg = 1; options[OPT_HALTMINTCORE].dDefault = 0; - sprintf(options[OPT_HALTMINTCORE].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_HALTMINTCORE].cNeg, "No negative behavior"); fnRead[OPT_HALTMINTCORE] = &fvReadHaltMinTCore; /* Begin vemcee parameters */ /* ActViscMan */ - sprintf(options[OPT_ACTVISCMAN].cName, "dActViscMan"); - sprintf(options[OPT_ACTVISCMAN].cDescr, "Mantle viscosity activation energy"); - sprintf(options[OPT_ACTVISCMAN].cDefault, "Default is ACTVISCMAN"); - sprintf(options[OPT_ACTVISCMAN].cDimension, "pressure"); + fvFormattedString(&options[OPT_ACTVISCMAN].cName, "dActViscMan"); + 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; options[OPT_ACTVISCMAN].bMultiFile = 1; options[OPT_ACTVISCMAN].dNeg = ACTVISCMAN; options[OPT_ACTVISCMAN].dDefault = ACTVISCMAN; - sprintf(options[OPT_ACTVISCMAN].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_ACTVISCMAN].cNeg, "No negative behavior"); fnRead[OPT_ACTVISCMAN] = &fvReadActViscMan; // Needs a LongDescr - sprintf(options[OPT_ACTVISCMAN].cLongDescr, + 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."); /* ShModRef */ - sprintf(options[OPT_SHMODREF].cName, "dShModRef"); - sprintf(options[OPT_SHMODREF].cDescr, + fvFormattedString(&options[OPT_SHMODREF].cName, "dShModRef"); + fvFormattedString(&options[OPT_SHMODREF].cDescr, "Reference kinematic mantle shear modulus"); - sprintf(options[OPT_SHMODREF].cDefault, "Default is SHMODREF"); - sprintf(options[OPT_SHMODREF].cDimension, "pressure"); + fvFormattedString(&options[OPT_SHMODREF].cDefault, "Default is SHMODREF"); + fvFormattedString(&options[OPT_SHMODREF].cDimension, "pressure"); options[OPT_SHMODREF].iType = 2; options[OPT_SHMODREF].bMultiFile = 1; options[OPT_SHMODREF].dNeg = SHMODREF; options[OPT_SHMODREF].dDefault = SHMODREF; - sprintf(options[OPT_SHMODREF].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_SHMODREF].cNeg, "No negative behavior"); fnRead[OPT_SHMODREF] = &fvReadShModRef; // Needs a LongDescr - sprintf(options[OPT_SHMODREF].cLongDescr, + 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 */ - sprintf(options[OPT_STIFFNESS].cName, "dStiffness"); - sprintf(options[OPT_STIFFNESS].cDescr, "Effective stiffness of mantle"); - sprintf(options[OPT_STIFFNESS].cDefault, "Default is STIFFNESS"); - sprintf(options[OPT_STIFFNESS].cDimension, "pressure"); + fvFormattedString(&options[OPT_STIFFNESS].cName, "dStiffness"); + 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; options[OPT_STIFFNESS].bMultiFile = 1; options[OPT_STIFFNESS].dNeg = STIFFNESS; options[OPT_STIFFNESS].dDefault = STIFFNESS; - sprintf(options[OPT_STIFFNESS].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_STIFFNESS].cNeg, "No negative behavior"); fnRead[OPT_STIFFNESS] = &fvReadStiffness; /* DLind */ - sprintf(options[OPT_DLIND].cName, "dDLind"); - sprintf(options[OPT_DLIND].cDescr, + fvFormattedString(&options[OPT_DLIND].cName, "dDLind"); + fvFormattedString(&options[OPT_DLIND].cDescr, "Lindemann's law length scale for iron liquidus"); - sprintf(options[OPT_DLIND].cDefault, "Default is DLIND"); - sprintf(options[OPT_DLIND].cDimension, "length"); + fvFormattedString(&options[OPT_DLIND].cDefault, "Default is DLIND"); + fvFormattedString(&options[OPT_DLIND].cDimension, "length"); options[OPT_DLIND].iType = 2; options[OPT_DLIND].bMultiFile = 1; options[OPT_DLIND].dNeg = DLIND; options[OPT_DLIND].dDefault = DLIND; - sprintf(options[OPT_DLIND].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_DLIND].cNeg, "No negative behavior"); fnRead[OPT_DLIND] = &fvReadDLind; // Needs a LongDescr - sprintf(options[OPT_DLIND].cLongDescr, + 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" @@ -1606,18 +1573,18 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { "with radius."); /* DAdCore */ - sprintf(options[OPT_DADCORE].cName, "dDAdCore"); - sprintf(options[OPT_DADCORE].cDescr, "Liq iron core adiabatic length scale"); - sprintf(options[OPT_DADCORE].cDefault, "Default is DADCORE"); - sprintf(options[OPT_DADCORE].cDimension, "length"); + fvFormattedString(&options[OPT_DADCORE].cName, "dDAdCore"); + 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; options[OPT_DADCORE].bMultiFile = 1; options[OPT_DADCORE].dNeg = DADCORE; options[OPT_DADCORE].dDefault = DADCORE; - sprintf(options[OPT_DADCORE].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_DADCORE].cNeg, "No negative behavior"); fnRead[OPT_DADCORE] = &fvReadDAdCore; // Needs a LongDescr - sprintf(options[OPT_DADCORE].cLongDescr, + 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" @@ -1625,75 +1592,75 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { "with radius."); /* AdJumpM2UM */ - sprintf(options[OPT_ADJUMPM2UM].cName, "dAdJumpM2UM"); - sprintf(options[OPT_ADJUMPM2UM].cDescr, + fvFormattedString(&options[OPT_ADJUMPM2UM].cName, "dAdJumpM2UM"); + fvFormattedString(&options[OPT_ADJUMPM2UM].cDescr, "Adiabatic temp jump from ave mantle to UM"); - sprintf(options[OPT_ADJUMPM2UM].cDefault, "Default is ADJUMPM2UM"); - sprintf(options[OPT_ADJUMPM2UM].cDimension, "temperature"); + fvFormattedString(&options[OPT_ADJUMPM2UM].cDefault, "Default is ADJUMPM2UM"); + fvFormattedString(&options[OPT_ADJUMPM2UM].cDimension, "temperature"); options[OPT_ADJUMPM2UM].iType = 2; options[OPT_ADJUMPM2UM].bMultiFile = 1; options[OPT_ADJUMPM2UM].dNeg = ADJUMPM2UM; options[OPT_ADJUMPM2UM].dDefault = ADJUMPM2UM; - sprintf(options[OPT_ADJUMPM2UM].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_ADJUMPM2UM].cNeg, "No negative behavior"); fnRead[OPT_ADJUMPM2UM] = &fvReadAdJumpM2UM; // Needs a LongDescr - sprintf(options[OPT_ADJUMPM2UM].cLongDescr, + 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 */ - sprintf(options[OPT_ADJUMPM2LM].cName, "dAdJumpM2LM"); - sprintf(options[OPT_ADJUMPM2LM].cDescr, + fvFormattedString(&options[OPT_ADJUMPM2LM].cName, "dAdJumpM2LM"); + fvFormattedString(&options[OPT_ADJUMPM2LM].cDescr, "Adiabatic temp jump from ave mantle to LM"); - sprintf(options[OPT_ADJUMPM2LM].cDefault, "Default is ADJUMPM2LM"); - sprintf(options[OPT_ADJUMPM2LM].cDimension, "nd"); + fvFormattedString(&options[OPT_ADJUMPM2LM].cDefault, "Default is ADJUMPM2LM"); + fvFormattedString(&options[OPT_ADJUMPM2LM].cDimension, "nd"); options[OPT_ADJUMPM2LM].iType = 2; options[OPT_ADJUMPM2LM].bMultiFile = 1; options[OPT_ADJUMPM2LM].dNeg = ADJUMPM2LM; options[OPT_ADJUMPM2LM].dDefault = ADJUMPM2LM; - sprintf(options[OPT_ADJUMPM2LM].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_ADJUMPM2LM].cNeg, "No negative behavior"); fnRead[OPT_ADJUMPM2LM] = &fvReadAdJumpM2LM; // Needs a LongDescr - sprintf(options[OPT_ADJUMPM2LM].cLongDescr, + fvFormattedString(&options[OPT_ADJUMPM2LM].cLongDescr, "Constant used to relate TLMan to TMan (TLMan=AdJumpM2LM*TMan),\n" "analogous to AdJumpM2UM."); /* AdJumpC2CMB */ - sprintf(options[OPT_ADJUMPC2CMB].cName, "dAdJumpC2CMB"); - sprintf(options[OPT_ADJUMPC2CMB].cDescr, + fvFormattedString(&options[OPT_ADJUMPC2CMB].cName, "dAdJumpC2CMB"); + fvFormattedString(&options[OPT_ADJUMPC2CMB].cDescr, "Adiabatic temp jump from ave core to CMB"); - sprintf(options[OPT_ADJUMPC2CMB].cDefault, "Default is ADJUMPC2CMB"); - sprintf(options[OPT_ADJUMPC2CMB].cDimension, "nd"); + fvFormattedString(&options[OPT_ADJUMPC2CMB].cDefault, "Default is ADJUMPC2CMB"); + fvFormattedString(&options[OPT_ADJUMPC2CMB].cDimension, "nd"); options[OPT_ADJUMPC2CMB].iType = 2; options[OPT_ADJUMPC2CMB].bMultiFile = 1; options[OPT_ADJUMPC2CMB].dNeg = ADJUMPC2CMB; options[OPT_ADJUMPC2CMB].dDefault = ADJUMPC2CMB; - sprintf(options[OPT_ADJUMPC2CMB].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_ADJUMPC2CMB].cNeg, "No negative behavior"); fnRead[OPT_ADJUMPC2CMB] = &fvReadAdJumpC2CMB; /* ElecCondCore */ - sprintf(options[OPT_ELECCONDCORE].cName, "dElecCondCore"); - sprintf(options[OPT_ELECCONDCORE].cDescr, "Electrical conductivity of core"); - sprintf(options[OPT_ELECCONDCORE].cDefault, "Default is ELECCONDCORE"); - sprintf(options[OPT_ELECCONDCORE].cDimension, "time^3*ampere^2/mass/length"); + 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"); options[OPT_ELECCONDCORE].iType = 2; options[OPT_ELECCONDCORE].bMultiFile = 1; options[OPT_ELECCONDCORE].dNeg = ELECCONDCORE; options[OPT_ELECCONDCORE].dDefault = ELECCONDCORE; - sprintf(options[OPT_ELECCONDCORE].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_ELECCONDCORE].cNeg, "No negative behavior"); fnRead[OPT_ELECCONDCORE] = &fvReadElecCondCore; /* ImK2ManOrbModel */ - sprintf(options[OPT_IMK2MANORBMODEL].cName, "dImK2ManOrbModel"); - sprintf(options[OPT_IMK2MANORBMODEL].cDescr, + 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)"); - sprintf(options[OPT_IMK2MANORBMODEL].cDefault, "Default is IMK2MANORBMODEL"); - sprintf(options[OPT_IMK2MANORBMODEL].cDimension, "nd"); + fvFormattedString(&options[OPT_IMK2MANORBMODEL].cDefault, "Default is IMK2MANORBMODEL"); + fvFormattedString(&options[OPT_IMK2MANORBMODEL].cDimension, "nd"); options[OPT_IMK2MANORBMODEL].iType = 2; options[OPT_IMK2MANORBMODEL].bMultiFile = 1; options[OPT_IMK2MANORBMODEL].dNeg = IMK2MANORBMODEL; options[OPT_IMK2MANORBMODEL].dDefault = IMK2MANORBMODEL; - sprintf(options[OPT_IMK2MANORBMODEL].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_IMK2MANORBMODEL].cNeg, "No negative behavior"); fnRead[OPT_IMK2MANORBMODEL] = &fvReadImK2ManOrbModel; // Needs a LongDescr -- XXX I'm not sure what this does! RB // PD(4/26/21): I don't know what this does either! Presumably its a switch @@ -3674,74 +3641,74 @@ void fvWriteTrefLind(BODY *body, CONTROL *control, OUTPUT *output, void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { - sprintf(output[OUT_TMAN].cName, "TMan"); - sprintf(output[OUT_TMAN].cDescr, "Mantle Temperature"); - sprintf(output[OUT_TMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TMAN].cName, "TMan"); + fvFormattedString(&output[OUT_TMAN].cDescr, "Mantle Temperature"); + fvFormattedString(&output[OUT_TMAN].cNeg, "K"); output[OUT_TMAN].bNeg = 1; output[OUT_TMAN].dNeg = 1; output[OUT_TMAN].iNum = 1; output[OUT_TMAN].iModuleBit = THERMINT; fnWrite[OUT_TMAN] = &fvWriteTMan; - sprintf(output[OUT_TUMAN].cName, "TUMan"); - sprintf(output[OUT_TUMAN].cDescr, "Upper Mantle Temperature"); - sprintf(output[OUT_TUMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TUMAN].cName, "TUMan"); + fvFormattedString(&output[OUT_TUMAN].cDescr, "Upper Mantle Temperature"); + fvFormattedString(&output[OUT_TUMAN].cNeg, "K"); output[OUT_TUMAN].bNeg = 1; output[OUT_TUMAN].dNeg = 1; output[OUT_TUMAN].iNum = 1; output[OUT_TUMAN].iModuleBit = THERMINT; fnWrite[OUT_TUMAN] = &fvWriteTUMan; - sprintf(output[OUT_TSOLUMAN].cName, "TsolUMan"); - sprintf(output[OUT_TSOLUMAN].cDescr, "Upper Mantle Thermal Boundary Layer Solidus Temperature"); - sprintf(output[OUT_TSOLUMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TSOLUMAN].cName, "TsolUMan"); + 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].iModuleBit = THERMINT; fnWrite[OUT_TSOLUMAN] = &fvWriteTsolUMan; - sprintf(output[OUT_TLMAN].cName, "TLMan"); - sprintf(output[OUT_TLMAN].cDescr, "Lower Mantle Temperature"); - sprintf(output[OUT_TLMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TLMAN].cName, "TLMan"); + fvFormattedString(&output[OUT_TLMAN].cDescr, "Lower Mantle Temperature"); + fvFormattedString(&output[OUT_TLMAN].cNeg, "K"); output[OUT_TLMAN].bNeg = 1; output[OUT_TLMAN].dNeg = 1; output[OUT_TLMAN].iNum = 1; output[OUT_TLMAN].iModuleBit = THERMINT; fnWrite[OUT_TLMAN] = &fvWriteTLMan; - sprintf(output[OUT_TJUMPUMAN].cName, "TJumpUMan"); - sprintf(output[OUT_TJUMPUMAN].cDescr, "Upper Mantle Temperature Jump"); - sprintf(output[OUT_TJUMPUMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TJUMPUMAN].cName, "TJumpUMan"); + 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; output[OUT_TJUMPUMAN].iNum = 1; output[OUT_TJUMPUMAN].iModuleBit = THERMINT; fnWrite[OUT_TJUMPUMAN] = &fvWriteTJumpUMan; - sprintf(output[OUT_TJUMPLMAN].cName, "TJumpLMan"); - sprintf(output[OUT_TJUMPLMAN].cDescr, "Lower Mantle Temperature Jump"); - sprintf(output[OUT_TJUMPLMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TJUMPLMAN].cName, "TJumpLMan"); + 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; output[OUT_TJUMPLMAN].iNum = 1; output[OUT_TJUMPLMAN].iModuleBit = THERMINT; fnWrite[OUT_TJUMPLMAN] = &fvWriteTJumpLMan; - sprintf(output[OUT_SIGNTJUMPUMAN].cName, "SignTJumpUMan"); - sprintf(output[OUT_SIGNTJUMPUMAN].cDescr, + fvFormattedString(&output[OUT_SIGNTJUMPUMAN].cName, "SignTJumpUMan"); + fvFormattedString(&output[OUT_SIGNTJUMPUMAN].cDescr, "Sign of Upper Mantle Temperature Jump"); - sprintf(output[OUT_SIGNTJUMPUMAN].cNeg, "K"); + fvFormattedString(&output[OUT_SIGNTJUMPUMAN].cNeg, "K"); output[OUT_SIGNTJUMPUMAN].bNeg = 1; output[OUT_SIGNTJUMPUMAN].dNeg = 1; output[OUT_SIGNTJUMPUMAN].iNum = 1; output[OUT_SIGNTJUMPUMAN].iModuleBit = THERMINT; fnWrite[OUT_SIGNTJUMPUMAN] = &fvWriteSignTJumpUMan; - sprintf(output[OUT_SIGNTJUMPLMAN].cName, "SignTJumpLMan"); - sprintf(output[OUT_SIGNTJUMPLMAN].cDescr, + fvFormattedString(&output[OUT_SIGNTJUMPLMAN].cName, "SignTJumpLMan"); + fvFormattedString(&output[OUT_SIGNTJUMPLMAN].cDescr, "Sign of Lower Mantle Temperature Jump"); - sprintf(output[OUT_SIGNTJUMPLMAN].cNeg, "K"); + fvFormattedString(&output[OUT_SIGNTJUMPLMAN].cNeg, "K"); output[OUT_SIGNTJUMPLMAN].bNeg = 1; output[OUT_SIGNTJUMPLMAN].dNeg = 1; output[OUT_SIGNTJUMPLMAN].iNum = 1; @@ -3749,27 +3716,27 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_SIGNTJUMPLMAN] = &fvWriteSignTJumpLMan; // Needs a LongDescr - sprintf(output[OUT_TCMB].cName, "TCMB"); - sprintf(output[OUT_TCMB].cDescr, "CMB Temperature"); - sprintf(output[OUT_TCMB].cNeg, "K"); + fvFormattedString(&output[OUT_TCMB].cName, "TCMB"); + fvFormattedString(&output[OUT_TCMB].cDescr, "CMB Temperature"); + fvFormattedString(&output[OUT_TCMB].cNeg, "K"); output[OUT_TCMB].bNeg = 1; output[OUT_TCMB].dNeg = 1; output[OUT_TCMB].iNum = 1; output[OUT_TCMB].iModuleBit = THERMINT; fnWrite[OUT_TCMB] = &fvWriteTCMB; - sprintf(output[OUT_TCORE].cName, "TCore"); - sprintf(output[OUT_TCORE].cDescr, "Core Temperature"); - sprintf(output[OUT_TCORE].cNeg, "K"); + fvFormattedString(&output[OUT_TCORE].cName, "TCore"); + fvFormattedString(&output[OUT_TCORE].cDescr, "Core Temperature"); + fvFormattedString(&output[OUT_TCORE].cNeg, "K"); output[OUT_TCORE].bNeg = 1; output[OUT_TCORE].dNeg = 1; output[OUT_TCORE].iNum = 1; output[OUT_TCORE].iModuleBit = THERMINT; fnWrite[OUT_TCORE] = &fvWriteTCore; - sprintf(output[OUT_VISCUMAN].cName, "ViscUMan"); - sprintf(output[OUT_VISCUMAN].cDescr, "Upper Mantle Viscosity"); - sprintf(output[OUT_VISCUMAN].cNeg, "m^2/s"); + fvFormattedString(&output[OUT_VISCUMAN].cName, "ViscUMan"); + fvFormattedString(&output[OUT_VISCUMAN].cDescr, "Upper Mantle Viscosity"); + fvFormattedString(&output[OUT_VISCUMAN].cNeg, "m^2/s"); output[OUT_VISCUMAN].bNeg = 1; output[OUT_VISCUMAN].dNeg = 1; output[OUT_VISCUMAN].iNum = 1; @@ -3777,9 +3744,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_VISCUMAN] = &fvWriteViscUMan; /* ViscUManArr Arrhenius Only */ - sprintf(output[OUT_VISCUMANARR].cName, "ViscUManArr"); - sprintf(output[OUT_VISCUMANARR].cDescr, "Upper Mantle Arrhenius Viscosity"); - sprintf(output[OUT_VISCUMANARR].cNeg, "m^2/s"); + fvFormattedString(&output[OUT_VISCUMANARR].cName, "ViscUManArr"); + 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; output[OUT_VISCUMANARR].iNum = 1; @@ -3788,9 +3755,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* ViscLMan */ - sprintf(output[OUT_VISCLMAN].cName, "ViscLMan"); - sprintf(output[OUT_VISCLMAN].cDescr, "Lower Mantle Viscosity"); - sprintf(output[OUT_VISCLMAN].cNeg, "m^2/s"); + fvFormattedString(&output[OUT_VISCLMAN].cName, "ViscLMan"); + fvFormattedString(&output[OUT_VISCLMAN].cDescr, "Lower Mantle Viscosity"); + fvFormattedString(&output[OUT_VISCLMAN].cNeg, "m^2/s"); output[OUT_VISCLMAN].bNeg = 1; output[OUT_VISCLMAN].dNeg = 1; output[OUT_VISCLMAN].iNum = 1; @@ -3798,18 +3765,18 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_VISCLMAN] = &fvWriteViscLMan; /* ViscMMan */ - sprintf(output[OUT_VISCMMAN].cName, "ViscMMan"); - sprintf(output[OUT_VISCMMAN].cDescr, "Average (mid) Mantle Viscosity"); - sprintf(output[OUT_VISCMMAN].cNeg, "m^2/s"); + fvFormattedString(&output[OUT_VISCMMAN].cName, "ViscMMan"); + 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; output[OUT_VISCMMAN].iNum = 1; output[OUT_VISCMMAN].iModuleBit = THERMINT; fnWrite[OUT_VISCMMAN] = &fvWriteViscMMan; - sprintf(output[OUT_VISCJUMPMAN].cName, "ViscJumpMan"); - sprintf(output[OUT_VISCJUMPMAN].cDescr, "Mantle Viscosity Ratio"); - sprintf(output[OUT_VISCJUMPMAN].cNeg, "nd"); + fvFormattedString(&output[OUT_VISCJUMPMAN].cName, "ViscJumpMan"); + fvFormattedString(&output[OUT_VISCJUMPMAN].cDescr, "Mantle Viscosity Ratio"); + fvFormattedString(&output[OUT_VISCJUMPMAN].cNeg, "nd"); output[OUT_VISCJUMPMAN].bNeg = 1; output[OUT_VISCJUMPMAN].dNeg = 1; output[OUT_VISCJUMPMAN].iNum = 1; @@ -3818,9 +3785,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* BLUMan */ - sprintf(output[OUT_BLUMAN].cName, "BLUMan"); - sprintf(output[OUT_BLUMAN].cDescr, "Boundary Layer Thickness Upper Mantle"); - sprintf(output[OUT_BLUMAN].cNeg, "km"); + fvFormattedString(&output[OUT_BLUMAN].cName, "BLUMan"); + 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; output[OUT_BLUMAN].iNum = 1; @@ -3829,9 +3796,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* BLLMan */ - sprintf(output[OUT_BLLMAN].cName, "BLLMan"); - sprintf(output[OUT_BLLMAN].cDescr, "Boundary Layer Thickness Lower Mantle"); - sprintf(output[OUT_BLLMAN].cNeg, "km"); + fvFormattedString(&output[OUT_BLLMAN].cName, "BLLMan"); + 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; output[OUT_BLLMAN].iNum = 1; @@ -3840,9 +3807,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* ShmodUMan */ - sprintf(output[OUT_SHMODUMAN].cName, "ShmodUMan"); - sprintf(output[OUT_SHMODUMAN].cDescr, "Shear Modulus Upper Mantle"); - sprintf(output[OUT_SHMODUMAN].cNeg, "Pa"); + fvFormattedString(&output[OUT_SHMODUMAN].cName, "ShmodUMan"); + 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; output[OUT_SHMODUMAN].iNum = 1; @@ -3850,9 +3817,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_SHMODUMAN] = &fvWriteShmodUMan; /* FMeltUMan */ - sprintf(output[OUT_FMELTUMAN].cName, "FMeltUMan"); - sprintf(output[OUT_FMELTUMAN].cDescr, "Melt Fraction Upper Mantle"); - sprintf(output[OUT_FMELTUMAN].cNeg, "nd"); + fvFormattedString(&output[OUT_FMELTUMAN].cName, "FMeltUMan"); + 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; output[OUT_FMELTUMAN].iNum = 1; @@ -3860,9 +3827,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_FMELTUMAN] = &fvWriteFMeltUMan; /* FMeltLMan */ - sprintf(output[OUT_FMELTLMAN].cName, "FMeltLMan"); - sprintf(output[OUT_FMELTLMAN].cDescr, "Melt Fraction Lower Mantle"); - sprintf(output[OUT_FMELTLMAN].cNeg, "nd"); + fvFormattedString(&output[OUT_FMELTLMAN].cName, "FMeltLMan"); + 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; output[OUT_FMELTLMAN].iNum = 1; @@ -3870,9 +3837,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_FMELTLMAN] = &fvWriteFMeltLMan; /* MeltfactorUMan */ - sprintf(output[OUT_MELTFACTORUMAN].cName, "MeltfactorUMan"); - sprintf(output[OUT_MELTFACTORUMAN].cDescr, "Melt Factor Upper Mantle"); - sprintf(output[OUT_MELTFACTORUMAN].cNeg, "nd"); + fvFormattedString(&output[OUT_MELTFACTORUMAN].cName, "MeltfactorUMan"); + 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; output[OUT_MELTFACTORUMAN].iNum = 1; @@ -3881,9 +3848,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* MeltfactorLMan */ - sprintf(output[OUT_MELTFACTORLMAN].cName, "MeltfactorLMan"); - sprintf(output[OUT_MELTFACTORLMAN].cDescr, "Melt Factor Lower Mantle"); - sprintf(output[OUT_MELTFACTORLMAN].cNeg, "nd"); + fvFormattedString(&output[OUT_MELTFACTORLMAN].cName, "MeltfactorLMan"); + 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; output[OUT_MELTFACTORLMAN].iNum = 1; @@ -3892,10 +3859,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* DepthMeltMan */ - sprintf(output[OUT_DEPTHMELTMAN].cName, "DepthMeltMan"); - sprintf(output[OUT_DEPTHMELTMAN].cDescr, + fvFormattedString(&output[OUT_DEPTHMELTMAN].cName, "DepthMeltMan"); + fvFormattedString(&output[OUT_DEPTHMELTMAN].cDescr, "Depth to base of Upper Mantle Melt Region"); - sprintf(output[OUT_DEPTHMELTMAN].cNeg, "m"); + fvFormattedString(&output[OUT_DEPTHMELTMAN].cNeg, "m"); output[OUT_DEPTHMELTMAN].bNeg = 1; output[OUT_DEPTHMELTMAN].dNeg = 1; output[OUT_DEPTHMELTMAN].iNum = 1; @@ -3903,10 +3870,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DEPTHMELTMAN] = &fvWriteDepthMeltMan; /* TDepthMeltMan */ - sprintf(output[OUT_TDEPTHMELTMAN].cName, "TDepthMeltMan"); - sprintf(output[OUT_TDEPTHMELTMAN].cDescr, + fvFormattedString(&output[OUT_TDEPTHMELTMAN].cName, "TDepthMeltMan"); + fvFormattedString(&output[OUT_TDEPTHMELTMAN].cDescr, "Temp at base of Upper Mantle Melt Region"); - sprintf(output[OUT_TDEPTHMELTMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TDEPTHMELTMAN].cNeg, "K"); output[OUT_TDEPTHMELTMAN].bNeg = 1; output[OUT_TDEPTHMELTMAN].dNeg = 1; output[OUT_TDEPTHMELTMAN].iNum = 1; @@ -3914,10 +3881,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TDEPTHMELTMAN] = &fvWriteTDepthMeltMan; /* TJumpMeltMan */ - sprintf(output[OUT_TJUMPMELTMAN].cName, "TJumpMeltMan"); - sprintf(output[OUT_TJUMPMELTMAN].cDescr, + fvFormattedString(&output[OUT_TJUMPMELTMAN].cName, "TJumpMeltMan"); + fvFormattedString(&output[OUT_TJUMPMELTMAN].cDescr, "Temp Jump across Upper Mantle Melt Region"); - sprintf(output[OUT_TJUMPMELTMAN].cNeg, "K"); + fvFormattedString(&output[OUT_TJUMPMELTMAN].cNeg, "K"); output[OUT_TJUMPMELTMAN].bNeg = 1; output[OUT_TJUMPMELTMAN].dNeg = 1; output[OUT_TJUMPMELTMAN].iNum = 1; @@ -3925,9 +3892,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TJUMPMELTMAN] = &fvWriteTJumpMeltMan; /* MeltMassFluxMan */ - sprintf(output[OUT_MELTMASSFLUXMAN].cName, "MeltMassFluxMan"); - sprintf(output[OUT_MELTMASSFLUXMAN].cDescr, "Mantle Melt Mass Flux"); - sprintf(output[OUT_MELTMASSFLUXMAN].cNeg, "kg/s"); + fvFormattedString(&output[OUT_MELTMASSFLUXMAN].cName, "MeltMassFluxMan"); + 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; output[OUT_MELTMASSFLUXMAN].iNum = 1; @@ -3935,9 +3902,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_MELTMASSFLUXMAN] = &fvWriteMeltMassFluxMan; /* EruptEff */ - sprintf(output[OUT_ERUPTEFF].cName, "EruptEff"); - sprintf(output[OUT_ERUPTEFF].cDescr, "Mantle Melt Eruption Efficiency"); - sprintf(output[OUT_ERUPTEFF].cNeg, "nd"); + fvFormattedString(&output[OUT_ERUPTEFF].cName, "EruptEff"); + 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; output[OUT_ERUPTEFF].iNum = 1; @@ -3945,9 +3912,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_ERUPTEFF] = &fvWriteEruptEff; /* RayleighMan */ - sprintf(output[OUT_RAYLEIGHMAN].cName, "RayleighMan"); - sprintf(output[OUT_RAYLEIGHMAN].cDescr, "Mantle Rayleigh Number"); - sprintf(output[OUT_RAYLEIGHMAN].cNeg, "nd"); + fvFormattedString(&output[OUT_RAYLEIGHMAN].cName, "RayleighMan"); + fvFormattedString(&output[OUT_RAYLEIGHMAN].cDescr, "Mantle Rayleigh Number"); + fvFormattedString(&output[OUT_RAYLEIGHMAN].cNeg, "nd"); output[OUT_RAYLEIGHMAN].bNeg = 1; output[OUT_RAYLEIGHMAN].dNeg = 1; output[OUT_RAYLEIGHMAN].iNum = 1; @@ -3956,9 +3923,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* CORE WRITES */ /* RIC */ - sprintf(output[OUT_RIC].cName, "RIC"); - sprintf(output[OUT_RIC].cDescr, "Inner Core Radius"); - sprintf(output[OUT_RIC].cNeg, "km"); + fvFormattedString(&output[OUT_RIC].cName, "RIC"); + fvFormattedString(&output[OUT_RIC].cDescr, "Inner Core Radius"); + fvFormattedString(&output[OUT_RIC].cNeg, "km"); output[OUT_RIC].bNeg = 1; output[OUT_RIC].dNeg = 1e-3; output[OUT_RIC].iNum = 1; @@ -3966,9 +3933,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_RIC] = &fvWriteRIC; /* DRICDTCMB */ - sprintf(output[OUT_DRICDTCMB].cName, "DRICDTCMB"); - sprintf(output[OUT_DRICDTCMB].cDescr, "d(R_ic)/d(T_cmb)"); - sprintf(output[OUT_DRICDTCMB].cNeg, "m/K"); + fvFormattedString(&output[OUT_DRICDTCMB].cName, "DRICDTCMB"); + fvFormattedString(&output[OUT_DRICDTCMB].cDescr, "d(R_ic)/d(T_cmb)"); + fvFormattedString(&output[OUT_DRICDTCMB].cNeg, "m/K"); output[OUT_DRICDTCMB].bNeg = 1; output[OUT_DRICDTCMB].dNeg = 1; output[OUT_DRICDTCMB].iNum = 1; @@ -3976,9 +3943,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DRICDTCMB] = &fvWriteDRICDTCMB; // Dynamic Viscosity - sprintf(output[OUT_DYNVISC].cName, "DynViscUMan"); - sprintf(output[OUT_DYNVISC].cDescr, "Upper Mantle's Dynamic Viscosity"); - sprintf(output[OUT_DYNVISC].cNeg, "Pa"); + fvFormattedString(&output[OUT_DYNVISC].cName, "DynViscUMan"); + 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; output[OUT_DYNVISC].iNum = 1; @@ -3986,10 +3953,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DYNVISC] = &fvWriteDynamicViscosity; /* ChiOC */ - sprintf(output[OUT_CHIOC].cName, "ChiOC"); - sprintf(output[OUT_CHIOC].cDescr, + fvFormattedString(&output[OUT_CHIOC].cName, "ChiOC"); + fvFormattedString(&output[OUT_CHIOC].cDescr, "Light Element Concentration in Outer Core"); - sprintf(output[OUT_CHIOC].cNeg, "nd"); + fvFormattedString(&output[OUT_CHIOC].cNeg, "nd"); output[OUT_CHIOC].bNeg = 1; output[OUT_CHIOC].dNeg = 1; output[OUT_CHIOC].iNum = 1; @@ -3997,10 +3964,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_CHIOC] = &fvWriteChiOC; /* ChiIC */ - sprintf(output[OUT_CHIIC].cName, "ChiIC"); - sprintf(output[OUT_CHIIC].cDescr, + fvFormattedString(&output[OUT_CHIIC].cName, "ChiIC"); + fvFormattedString(&output[OUT_CHIIC].cDescr, "Light Element Concentration in Inner Core"); - sprintf(output[OUT_CHIIC].cNeg, "nd"); + fvFormattedString(&output[OUT_CHIIC].cNeg, "nd"); output[OUT_CHIIC].bNeg = 1; output[OUT_CHIIC].dNeg = 1; output[OUT_CHIIC].iNum = 1; @@ -4008,9 +3975,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_CHIIC] = &fvWriteChiIC; /* MassOC */ - sprintf(output[OUT_MASSOC].cName, "MassOC"); - sprintf(output[OUT_MASSOC].cDescr, "Mass of Outer Core"); - sprintf(output[OUT_MASSOC].cNeg, "EMASSOC"); + fvFormattedString(&output[OUT_MASSOC].cName, "MassOC"); + fvFormattedString(&output[OUT_MASSOC].cDescr, "Mass of Outer Core"); + fvFormattedString(&output[OUT_MASSOC].cNeg, "EMASSOC"); output[OUT_MASSOC].bNeg = 1; output[OUT_MASSOC].dNeg = 1 / (EMASSOC); output[OUT_MASSOC].iNum = 1; @@ -4018,9 +3985,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_MASSOC] = &fvWriteMassOC; /* MassIC */ - sprintf(output[OUT_MASSIC].cName, "MassIC"); - sprintf(output[OUT_MASSIC].cDescr, "Mass of Inner Core"); - sprintf(output[OUT_MASSIC].cNeg, "EMASSIC"); + fvFormattedString(&output[OUT_MASSIC].cName, "MassIC"); + fvFormattedString(&output[OUT_MASSIC].cDescr, "Mass of Inner Core"); + fvFormattedString(&output[OUT_MASSIC].cNeg, "EMASSIC"); output[OUT_MASSIC].bNeg = 1; output[OUT_MASSIC].dNeg = 1 / (EMASSIC); output[OUT_MASSIC].iNum = 1; @@ -4028,9 +3995,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_MASSIC] = &fvWriteMassIC; /* MassChiOC */ - sprintf(output[OUT_MASSCHIOC].cName, "MassChiOC"); - sprintf(output[OUT_MASSCHIOC].cDescr, "Mass of Chi in Outer Core"); - sprintf(output[OUT_MASSCHIOC].cNeg, "EMASSOC_CHI"); + fvFormattedString(&output[OUT_MASSCHIOC].cName, "MassChiOC"); + fvFormattedString(&output[OUT_MASSCHIOC].cDescr, "Mass of Chi in Outer Core"); + fvFormattedString(&output[OUT_MASSCHIOC].cNeg, "EMASSOC_CHI"); output[OUT_MASSCHIOC].bNeg = 1; output[OUT_MASSCHIOC].dNeg = 1 / (EMASSOC_CHI); output[OUT_MASSCHIOC].iNum = 1; @@ -4039,9 +4006,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* MassChiIC */ - sprintf(output[OUT_MASSCHIIC].cName, "MassChiIC"); - sprintf(output[OUT_MASSCHIIC].cDescr, "Mass of Chi in Inner Core"); - sprintf(output[OUT_MASSCHIIC].cNeg, "EMASSIC_CHI"); + fvFormattedString(&output[OUT_MASSCHIIC].cName, "MassChiIC"); + fvFormattedString(&output[OUT_MASSCHIIC].cDescr, "Mass of Chi in Inner Core"); + fvFormattedString(&output[OUT_MASSCHIIC].cNeg, "EMASSIC_CHI"); output[OUT_MASSCHIIC].bNeg = 1; output[OUT_MASSCHIIC].dNeg = 1 / (EMASSIC_CHI); output[OUT_MASSCHIIC].iNum = 1; @@ -4050,9 +4017,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* DTChi */ - sprintf(output[OUT_DTCHI].cName, "DTChi"); - sprintf(output[OUT_DTCHI].cDescr, "Core Liquidus Depression"); - sprintf(output[OUT_DTCHI].cNeg, "K"); + fvFormattedString(&output[OUT_DTCHI].cName, "DTChi"); + fvFormattedString(&output[OUT_DTCHI].cDescr, "Core Liquidus Depression"); + fvFormattedString(&output[OUT_DTCHI].cNeg, "K"); output[OUT_DTCHI].bNeg = 1; output[OUT_DTCHI].dNeg = 1; output[OUT_DTCHI].iNum = 1; @@ -4061,9 +4028,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* CoreBuoyTherm */ - sprintf(output[OUT_COREBUOYTHERM].cName, "CoreBuoyTherm"); - sprintf(output[OUT_COREBUOYTHERM].cDescr, "Core Thermal Buoyancy Flux"); - sprintf(output[OUT_COREBUOYTHERM].cNeg, "m^2/s^3"); + fvFormattedString(&output[OUT_COREBUOYTHERM].cName, "CoreBuoyTherm"); + 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; output[OUT_COREBUOYTHERM].iNum = 1; @@ -4072,9 +4039,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* CoreBuoyCompo */ - sprintf(output[OUT_COREBUOYCOMPO].cName, "CoreBuoyCompo"); - sprintf(output[OUT_COREBUOYCOMPO].cDescr, "Core Compositional Buoyancy Flux"); - sprintf(output[OUT_COREBUOYCOMPO].cNeg, "m^2/s^3"); + fvFormattedString(&output[OUT_COREBUOYCOMPO].cName, "CoreBuoyCompo"); + 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; output[OUT_COREBUOYCOMPO].iNum = 1; @@ -4083,9 +4050,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* CoreBuoyTotal */ - sprintf(output[OUT_COREBUOYTOTAL].cName, "CoreBuoyTotal"); - sprintf(output[OUT_COREBUOYTOTAL].cDescr, "Core Total Buoyancy Flux"); - sprintf(output[OUT_COREBUOYTOTAL].cNeg, "m^2/s^3"); + fvFormattedString(&output[OUT_COREBUOYTOTAL].cName, "CoreBuoyTotal"); + 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; output[OUT_COREBUOYTOTAL].iNum = 1; @@ -4093,9 +4060,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_COREBUOYTOTAL] = &fvWriteCoreBuoyTotal; /* GravICB */ - sprintf(output[OUT_GRAVICB].cName, "GravICB"); - sprintf(output[OUT_GRAVICB].cDescr, "ICB Gravity"); - sprintf(output[OUT_GRAVICB].cNeg, "m/s^2"); + fvFormattedString(&output[OUT_GRAVICB].cName, "GravICB"); + fvFormattedString(&output[OUT_GRAVICB].cDescr, "ICB Gravity"); + fvFormattedString(&output[OUT_GRAVICB].cNeg, "m/s^2"); output[OUT_GRAVICB].bNeg = 1; output[OUT_GRAVICB].dNeg = 1; output[OUT_GRAVICB].iNum = 1; @@ -4104,9 +4071,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* MagMom */ - sprintf(output[OUT_MAGMOM].cName, "MagMom"); - sprintf(output[OUT_MAGMOM].cDescr, "Core Magnetic Moment"); - sprintf(output[OUT_MAGMOM].cNeg, "EMAGMOM"); + fvFormattedString(&output[OUT_MAGMOM].cName, "MagMom"); + fvFormattedString(&output[OUT_MAGMOM].cDescr, "Core Magnetic Moment"); + fvFormattedString(&output[OUT_MAGMOM].cNeg, "EMAGMOM"); output[OUT_MAGMOM].bNeg = 1; output[OUT_MAGMOM].dNeg = 1. / (EMAGMOM); output[OUT_MAGMOM].iNum = 1; @@ -4114,9 +4081,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_MAGMOM] = &fvWriteMagMom; /* RICDot */ - sprintf(output[OUT_RICDOT].cName, "RICDot"); - sprintf(output[OUT_RICDOT].cDescr, "Inner Core growth rate"); - sprintf(output[OUT_RICDOT].cNeg, "m/s"); + fvFormattedString(&output[OUT_RICDOT].cName, "RICDot"); + fvFormattedString(&output[OUT_RICDOT].cDescr, "Inner Core growth rate"); + fvFormattedString(&output[OUT_RICDOT].cNeg, "m/s"); output[OUT_RICDOT].bNeg = 1; output[OUT_RICDOT].dNeg = 1; output[OUT_RICDOT].iNum = 1; @@ -4124,9 +4091,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_RICDOT] = &fvWriteRICDot; /* PresSWind */ - sprintf(output[OUT_PRESSWIND].cName, "PresSWind"); - sprintf(output[OUT_PRESSWIND].cDescr, "Stellar wind pressure at body"); - sprintf(output[OUT_PRESSWIND].cNeg, "EPRESSWIND"); + fvFormattedString(&output[OUT_PRESSWIND].cName, "PresSWind"); + 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); output[OUT_PRESSWIND].iNum = 1; @@ -4134,9 +4101,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_PRESSWIND] = &fvWritePresSWind; /* MagPauseRad */ - sprintf(output[OUT_MAGPAUSERAD].cName, "MagPauseRad"); - sprintf(output[OUT_MAGPAUSERAD].cDescr, "Magnetopause Radius"); - sprintf(output[OUT_MAGPAUSERAD].cNeg, "EMAGPAUSERAD"); + fvFormattedString(&output[OUT_MAGPAUSERAD].cName, "MagPauseRad"); + fvFormattedString(&output[OUT_MAGPAUSERAD].cDescr, "Magnetopause Radius"); + fvFormattedString(&output[OUT_MAGPAUSERAD].cNeg, "EMAGPAUSERAD"); output[OUT_MAGPAUSERAD].bNeg = 1; output[OUT_MAGPAUSERAD].dNeg = 1. / (EMAGPAUSERAD); output[OUT_MAGPAUSERAD].iNum = 1; @@ -4145,9 +4112,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Heat Fluxes/Flows */ /* HFluxUMan */ - sprintf(output[OUT_HFLUXUMAN].cName, "HfluxUMan"); - sprintf(output[OUT_HFLUXUMAN].cDescr, "Heat Flux Upper Mantle"); - sprintf(output[OUT_HFLUXUMAN].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_HFLUXUMAN].cName, "HfluxUMan"); + fvFormattedString(&output[OUT_HFLUXUMAN].cDescr, "Heat Flux Upper Mantle"); + fvFormattedString(&output[OUT_HFLUXUMAN].cNeg, "W/m^2"); output[OUT_HFLUXUMAN].bNeg = 1; output[OUT_HFLUXUMAN].dNeg = 1; output[OUT_HFLUXUMAN].iNum = 1; @@ -4155,9 +4122,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLUXUMAN] = &fvWriteHfluxUMan; /* HFluxLMan */ - sprintf(output[OUT_HFLUXLMAN].cName, "HfluxLMan"); - sprintf(output[OUT_HFLUXLMAN].cDescr, "Heat Flux Lower Mantle"); - sprintf(output[OUT_HFLUXLMAN].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_HFLUXLMAN].cName, "HfluxLMan"); + fvFormattedString(&output[OUT_HFLUXLMAN].cDescr, "Heat Flux Lower Mantle"); + fvFormattedString(&output[OUT_HFLUXLMAN].cNeg, "W/m^2"); output[OUT_HFLUXLMAN].bNeg = 1; output[OUT_HFLUXLMAN].dNeg = 1; output[OUT_HFLUXLMAN].iNum = 1; @@ -4165,9 +4132,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLUXLMAN] = &fvWriteHfluxLMan; /* HFluxCMB */ - sprintf(output[OUT_HFLUXCMB].cName, "HfluxCMB"); - sprintf(output[OUT_HFLUXCMB].cDescr, "Heat Flux Core-Mantle Boundary"); - sprintf(output[OUT_HFLUXCMB].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_HFLUXCMB].cName, "HfluxCMB"); + 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; output[OUT_HFLUXCMB].iNum = 1; @@ -4175,10 +4142,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLUXCMB] = &fvWriteHfluxCMB; /* HfluxCMBAd */ - sprintf(output[OUT_HFLUXCMBAD].cName, "HfluxCMBAd"); - sprintf(output[OUT_HFLUXCMBAD].cDescr, + fvFormattedString(&output[OUT_HFLUXCMBAD].cName, "HfluxCMBAd"); + fvFormattedString(&output[OUT_HFLUXCMBAD].cDescr, "Adiabatic Heat Flux Core-Mantle Boundary"); - sprintf(output[OUT_HFLUXCMBAD].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_HFLUXCMBAD].cNeg, "W/m^2"); output[OUT_HFLUXCMBAD].bNeg = 1; output[OUT_HFLUXCMBAD].dNeg = 1; output[OUT_HFLUXCMBAD].iNum = 1; @@ -4187,10 +4154,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* HfluxCMBConv */ - sprintf(output[OUT_HFLUXCMBCONV].cName, "HfluxCMBConv"); - sprintf(output[OUT_HFLUXCMBCONV].cDescr, + fvFormattedString(&output[OUT_HFLUXCMBCONV].cName, "HfluxCMBConv"); + fvFormattedString(&output[OUT_HFLUXCMBCONV].cDescr, "Super-Adiabatic (convective) Heat Flux Core-Mantle Boundary"); - sprintf(output[OUT_HFLUXCMBCONV].cNeg, "W/m^2"); + fvFormattedString(&output[OUT_HFLUXCMBCONV].cNeg, "W/m^2"); output[OUT_HFLUXCMBCONV].bNeg = 1; output[OUT_HFLUXCMBCONV].dNeg = 1; output[OUT_HFLUXCMBCONV].iNum = 1; @@ -4198,10 +4165,10 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLUXCMBCONV] = &fvWriteHfluxCMBConv; /* ThermConductOC */ - sprintf(output[OUT_THERMCONDUCTOC].cName, "ThermConductOC"); - sprintf(output[OUT_THERMCONDUCTOC].cDescr, + fvFormattedString(&output[OUT_THERMCONDUCTOC].cName, "ThermConductOC"); + fvFormattedString(&output[OUT_THERMCONDUCTOC].cDescr, "Thermal Conductivity of the Outer Core"); - sprintf(output[OUT_THERMCONDUCTOC].cNeg, "W/m/K"); + fvFormattedString(&output[OUT_THERMCONDUCTOC].cNeg, "W/m/K"); output[OUT_THERMCONDUCTOC].bNeg = 1; output[OUT_THERMCONDUCTOC].dNeg = 1; output[OUT_THERMCONDUCTOC].iNum = 1; @@ -4209,9 +4176,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_THERMCONDUCTOC] = &fvWriteThermConductOC; /* HflowUMan */ - sprintf(output[OUT_HFLOWUMAN].cName, "HflowUMan"); - sprintf(output[OUT_HFLOWUMAN].cDescr, "Heat Flow Upper Mantle"); - sprintf(output[OUT_HFLOWUMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWUMAN].cName, "HflowUMan"); + fvFormattedString(&output[OUT_HFLOWUMAN].cDescr, "Heat Flow Upper Mantle"); + fvFormattedString(&output[OUT_HFLOWUMAN].cNeg, "TW"); output[OUT_HFLOWUMAN].bNeg = 1; output[OUT_HFLOWUMAN].dNeg = 1e-12; output[OUT_HFLOWUMAN].iNum = 1; @@ -4219,9 +4186,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLOWUMAN] = &fvWriteHflowUMan; /* HFlowLMan */ - sprintf(output[OUT_HFLOWLMAN].cName, "HflowLMan"); - sprintf(output[OUT_HFLOWLMAN].cDescr, "Heat Flow Lower Mantle"); - sprintf(output[OUT_HFLOWLMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWLMAN].cName, "HflowLMan"); + fvFormattedString(&output[OUT_HFLOWLMAN].cDescr, "Heat Flow Lower Mantle"); + fvFormattedString(&output[OUT_HFLOWLMAN].cNeg, "TW"); output[OUT_HFLOWLMAN].bNeg = 1; output[OUT_HFLOWLMAN].dNeg = 1e-12; output[OUT_HFLOWLMAN].iNum = 1; @@ -4229,9 +4196,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLOWLMAN] = &fvWriteHflowLMan; /* HFlowCMB */ - sprintf(output[OUT_HFLOWCMB].cName, "HflowCMB"); - sprintf(output[OUT_HFLOWCMB].cDescr, "Heat Flow Core-Mantle Boundary"); - sprintf(output[OUT_HFLOWCMB].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWCMB].cName, "HflowCMB"); + 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; output[OUT_HFLOWCMB].iNum = 1; @@ -4239,9 +4206,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLOWCMB] = &fvWriteHflowCMB; /* HflowLatentMan */ - sprintf(output[OUT_HFLOWLATENTMAN].cName, "HflowLatentMan"); - sprintf(output[OUT_HFLOWLATENTMAN].cDescr, "Latent Heat Flow Mantle"); - sprintf(output[OUT_HFLOWLATENTMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWLATENTMAN].cName, "HflowLatentMan"); + 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; output[OUT_HFLOWLATENTMAN].iNum = 1; @@ -4249,9 +4216,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLOWLATENTMAN] = &fvWriteHflowLatentMan; /* HflowMeltMan */ - sprintf(output[OUT_HFLOWMELTMAN].cName, "HflowMeltMan"); - sprintf(output[OUT_HFLOWMELTMAN].cDescr, "Melt Heat Flow Mantle"); - sprintf(output[OUT_HFLOWMELTMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWMELTMAN].cName, "HflowMeltMan"); + fvFormattedString(&output[OUT_HFLOWMELTMAN].cDescr, "Melt Heat Flow Mantle"); + fvFormattedString(&output[OUT_HFLOWMELTMAN].cNeg, "TW"); output[OUT_HFLOWMELTMAN].bNeg = 1; output[OUT_HFLOWMELTMAN].dNeg = 1e-12; output[OUT_HFLOWMELTMAN].iNum = 1; @@ -4259,9 +4226,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLOWMELTMAN] = &fvWriteHflowMeltMan; /* HFlowSecMan */ - sprintf(output[OUT_HFLOWSECMAN].cName, "HflowSecMan"); - sprintf(output[OUT_HFLOWSECMAN].cDescr, "Mantle Secular Heat Flow"); - sprintf(output[OUT_HFLOWSECMAN].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWSECMAN].cName, "HflowSecMan"); + 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; output[OUT_HFLOWSECMAN].iNum = 1; @@ -4270,9 +4237,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Needs a LongDescr /* HFlowSurf */ - sprintf(output[OUT_HFLOWSURF].cName, "HflowSurf"); - sprintf(output[OUT_HFLOWSURF].cDescr, "Heat Flow Surface Total"); - sprintf(output[OUT_HFLOWSURF].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWSURF].cName, "HflowSurf"); + fvFormattedString(&output[OUT_HFLOWSURF].cDescr, "Heat Flow Surface Total"); + fvFormattedString(&output[OUT_HFLOWSURF].cNeg, "TW"); output[OUT_HFLOWSURF].bNeg = 1; output[OUT_HFLOWSURF].dNeg = 1e-12; output[OUT_HFLOWSURF].iNum = 1; @@ -4281,9 +4248,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Is this redundant with SurfEnFluxTotal? XXX /* HFlowLatentIC */ - sprintf(output[OUT_HFLOWLATENTIC].cName, "HflowLatentIC"); - sprintf(output[OUT_HFLOWLATENTIC].cDescr, "Latent Heat Release at ICB"); - sprintf(output[OUT_HFLOWLATENTIC].cNeg, "TW"); + fvFormattedString(&output[OUT_HFLOWLATENTIC].cName, "HflowLatentIC"); + 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; output[OUT_HFLOWLATENTIC].iNum = 1; @@ -4291,9 +4258,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HFLOWLATENTIC] = &fvWriteHflowLatentIC; /* PowerGravIC */ - sprintf(output[OUT_POWERGRAVIC].cName, "PowerGravIC"); - sprintf(output[OUT_POWERGRAVIC].cDescr, "Gravitational Power Release at ICB"); - sprintf(output[OUT_POWERGRAVIC].cNeg, "TW"); + fvFormattedString(&output[OUT_POWERGRAVIC].cName, "PowerGravIC"); + 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; output[OUT_POWERGRAVIC].iNum = 1; @@ -4301,9 +4268,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_POWERGRAVIC] = &fvWritePowerGravIC; /* TDotMan */ - sprintf(output[OUT_TDOTMAN].cName, "TDotMan"); - sprintf(output[OUT_TDOTMAN].cDescr, "Change in Mantle Temperature"); - sprintf(output[OUT_TDOTMAN].cNeg, "K/s"); + fvFormattedString(&output[OUT_TDOTMAN].cName, "TDotMan"); + 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; output[OUT_TDOTMAN].iNum = 1; @@ -4311,9 +4278,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TDOTMAN] = &fvWriteTDotMan; /* TDotCore */ - sprintf(output[OUT_TDOTCORE].cName, "TDotCore"); - sprintf(output[OUT_TDOTCORE].cDescr, "Change in Core Temperature"); - sprintf(output[OUT_TDOTCORE].cNeg, "K/s"); + fvFormattedString(&output[OUT_TDOTCORE].cName, "TDotCore"); + fvFormattedString(&output[OUT_TDOTCORE].cDescr, "Change in Core Temperature"); + fvFormattedString(&output[OUT_TDOTCORE].cNeg, "K/s"); output[OUT_TDOTCORE].bNeg = 1; output[OUT_TDOTCORE].dNeg = 1; output[OUT_TDOTCORE].iNum = 1; @@ -4322,9 +4289,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Constants */ /* TrefLind */ - sprintf(output[OUT_TREFLIND].cName, "TrefLind"); - sprintf(output[OUT_TREFLIND].cDescr, "Core Liquidus Lindeman Reference"); - sprintf(output[OUT_TREFLIND].cNeg, "K"); + fvFormattedString(&output[OUT_TREFLIND].cName, "TrefLind"); + 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; output[OUT_TREFLIND].iNum = 1; diff --git a/src/verify.c b/src/verify.c index 49dcd2445..77bb53482 100644 --- a/src/verify.c +++ b/src/verify.c @@ -142,7 +142,7 @@ void VerifyNames(BODY *body, CONTROL *control, OPTIONS *options) { options[OPT_BODYNAME].cName, options[OPT_BODYNAME].cFile[iBody] + 1, iBody); } - sprintf(body[iBody].cName, "%d", iBody + 1); + fvFormattedString(&body[iBody].cName, "%d", iBody + 1); } for (jBody = iBody + 1; jBody < control->Evolve.iNumBodies; jBody++) { if (strcmp(body[iBody].cName, body[jBody].cName) == 0) { @@ -383,7 +383,7 @@ void VerifyIntegration(BODY *body, CONTROL *control, FILES *files, if (control->Evolve.bDoBackward) { for (iFile = 1; iFile < files->iNumInputs; iFile++) { if (options[OPT_OUTFILE].iLine[iFile] == -1) { - sprintf(files->Outfile[iFile - 1].cOut, "%s.%s.backward", system->cName, + fvFormattedString(&files->Outfile[iFile - 1].cOut, "%s.%s.backward", system->cName, body[iFile - 1].cName); if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "INFO: %s not set, defaulting to %s.\n", @@ -398,7 +398,7 @@ void VerifyIntegration(BODY *body, CONTROL *control, FILES *files, if (control->Evolve.bDoForward) { for (iFile = 1; iFile < files->iNumInputs; iFile++) { if (options[OPT_OUTFILE].iLine[iFile] == -1) { - sprintf(files->Outfile[iFile - 1].cOut, "%s.%s.forward", system->cName, + fvFormattedString(&files->Outfile[iFile - 1].cOut, "%s.%s.forward", system->cName, body[iFile - 1].cName); if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "INFO: %s not set, defaulting to %s.\n", diff --git a/src/vplanet.h b/src/vplanet.h index 6c4f71d3b..2419ccc4e 100644 --- a/src/vplanet.h +++ b/src/vplanet.h @@ -180,8 +180,8 @@ typedef struct VERIFY VERIFY; */ struct BODY { /* Body Properties */ - char cName[NAMELEN]; /**< Body's Name */ - char sColor[OPTLEN]; /**< Body color (for plotting) */ + char *cName; /**< Body's Name */ + char *sColor; /**< Body color (for plotting) */ int bMantle; /**< Is there a mantle? */ int bOcean; /**< Is there an ocean? */ @@ -398,7 +398,7 @@ struct BODY { currently) */ int iTidePerts; /**< Number of Tidal Perturbers */ int *iaTidePerts; /**< Body #'s of Tidal Perturbers */ - char saTidePerts[MAXARRAY][NAMELEN]; /**< Names of Tidal Perturbers */ + char *saTidePerts[MAXARRAY]; /**< Names of Tidal Perturbers */ double dK2Man; /**< Mantle k2 love number */ double dK2Ocean; /**< Ocean's Love Number */ double dK2Env; /**< Envelope's Love Number */ @@ -686,7 +686,7 @@ struct BODY { double dPrecA0; /**< Initial pA value used when distrot is not called */ int bReadOrbitOblData; /**< Use orbit and obliquity data from file rather than distrot */ - char cFileOrbitOblData[NAMELEN]; /**< read orbital and obliquity data from + char *sFileOrbitOblData; /**< read orbital and obliquity data from this file (distorb=0) */ double *daOblSeries; /**< time series for obliquity data */ double *daPrecASeries; /**< time series for obliquity data */ @@ -1024,7 +1024,7 @@ struct BODY { typedef double (*fnLaplaceFunction)(double, int); struct SYSTEM { - char cName[NAMELEN]; /**< System's Name */ + char *cName; /**< System's Name */ int iNumBodies; /** Number of bodies in the system; redundant with Evolve! */ @@ -1902,13 +1902,13 @@ depends on the total number of modules available. */ * regarding the files that read in. */ struct INFILE { - char cIn[NAMELEN]; /**< File Name */ + char *cIn; /**< File Name */ int *bLineOK; /**< Line number Format OK? */ int iNumLines; /**< Number of Input Lines */ /* Species file for PHOTOCHEM */ - char cSpecies[NAMELEN]; /**< Name of Chemical Species N/I */ + //char cSpecies[NAMELEN]; /**< Name of Chemical Species N/I */ /* Reaction file for PHOTOCHEM */ - char cReactions[NAMELEN]; /**< Names of Chemical Reactions N/I */ + //char cReactions[NAMELEN]; /**< Names of Chemical Reactions N/I */ /* Aerosol scattering files */ /* Aqueous file -- add to SpeciesFile? */ @@ -1919,13 +1919,13 @@ struct INFILE { * regarding the output files. */ struct OUTFILE { - char cOut[2 * NAMELEN + 10]; /**< Output File Name */ + char *cOut; /**< Output File Name */ int iNumCols; /**< Number of Columns in Output File (system.planet+.forward/backward) */ - char caCol[MODULEOUTEND][OPTLEN]; /**< Output Value Name */ + char *caCol[MODULEOUTEND]; /**< Output Value Name */ int bNeg[MODULEOUTEND]; /**< Use Negative Option Units? */ int iNumGrid; /**< Number of grid outputs */ - char caGrid[MODULEOUTEND][OPTLEN]; /**< Gridded output name */ + char *caGrid[MODULEOUTEND]; /**< Gridded output name */ }; @@ -1933,9 +1933,9 @@ struct OUTFILE { * regarding every file. */ struct FILES { - char cExe[LINE]; /**< Name of Executable */ + char *cExe; /**< Name of Executable */ OUTFILE *Outfile; /**< Output File Name for Forward Integration */ - char cLog[NAMELEN + 4]; /**< Log File Name (+4 to allow for ".log" suffix) */ + char *cLog; /**< Log File Name (+4 to allow for ".log" suffix) */ INFILE *Infile; int iNumInputs; /**< Number of Input Files */ }; @@ -1944,28 +1944,28 @@ struct FILES { * regarding the options, including their file data. */ struct OPTIONS { - char cName[OPTLEN]; /**< Option Name */ - char cDescr[OPTDESCR]; /**< Brief Description of Option */ - char cLongDescr[OPTLONDESCR]; /**< Long Description of Option */ - char cValues[OPTDESCR]; /**< Description of permitted values / ranges */ + char *cName; /**< Option Name */ + char *cDescr; /**< Brief Description of Option */ + char *cLongDescr; /**< Long Description of Option */ + char *cValues; /**< Description of permitted values / ranges */ int iType; /**< Cast of input. 0=bool; 1=int; 2=double; 3=string; +10 for array. */ - char cDefault[OPTDESCR]; /**< Description of Default Value */ + char *cDefault; /**< Description of Default Value */ /** Qualitative description of the option, included for connection wtih bigplanet. Options are: time, length, mass, angle, energy, pressure, amperes. Units may be combined with standard mathematical operations, e.g. energy/time, or mass*length/time^2. */ - char cDimension[OPTDESCR]; + char *cDimension; double dDefault; /**< Default Value */ int iModuleBit; /**< Bitwise sum of modules permitted to read option */ int bMultiFile; /**< Option Permitted in Multiple Input Files? */ int iMultiIn; int *iLine; /**< Option's Line number in Input File */ char *iFile; - char cFile[MAXFILES][OPTLEN]; /**< File Name Where Set */ + char *cFile[MAXFILES]; /**< File Name Where Set */ int bNeg; /**< Is There a Negative Option? */ - char cNeg[OPTDESCR]; /**< Description of Negative Unit Conversion */ + char *cNeg; /**< Description of Negative Unit Conversion */ int iFileType; /**< What type of file can option be in? 0 = primary only, 1 = body file only, 2 = any file */ double dNeg; /**< Conversion Factor to System Units */ @@ -1973,35 +1973,14 @@ struct OPTIONS { /* OUTPUT contains the data regarding every output parameters */ -/* Some output variables must combine output from different modules. - * These functions do that combining. XXX I think this is defunct! - - typedef double (*fnOutputModule)(BODY*,SYSTEM*,UPDATE*,int,int); */ - -/* GRIDOUTPUT will be part of OPTIONS, and contains data for latitudinal - * parameters in POISE */ -// typedef struct { -// char cName[OPTLEN]; /**< Output Name */ -// char cDescr[LINE]; /**< Output Description */ -// int bNeg; /**< Is There a Negative Option? */ -// int *bDoNeg; /**< Should the Output use "Negative" Units? */ -// char cNeg[NAMELEN]; /**< Units of Negative Option */ -// double dNeg; /**< Conversion Factor for Negative Option */ -// int iNum; /**< Number of Columns for Output */ -// -// /* Now add vector output functions */ -// fnOutputModule **fnOutput; /**< Function Pointers to Write Output */ -// -// } GRIDOUTPUT; - struct OUTPUT { - char cName[OPTLEN]; /**< Output Name */ - char cDescr[OUTDESCR]; /**< Output Description */ - char cLongDescr[OUTLONDESCR]; /**< Output Long Description */ + char *cName; /**< Output Name */ + char *cDescr; /**< Output Description */ + char *cLongDescr; /**< Output Long Description */ int bNeg; /**< Is There a Negative Option? */ int iModuleBit; /**< Bit flag for module to check output parameters */ int *bDoNeg; /**< Should the Output use "Negative" Units? */ - char cNeg[OUTDESCR]; /**< Units of Negative Option */ + char *cNeg; /**< Units of Negative Option */ double dNeg; /**< Conversion Factor for Negative Option */ int iNum; /**< Number of Columns for Output */ int bGrid; /**< Is output quantity gridded (e.g. a function of latitude)? */ From 939f20a261184d4ba8de7223c14534c67b1bf347 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Thu, 23 May 2024 12:06:47 -0700 Subject: [PATCH 11/31] Updated string copies to use fvFormattedString. --- src/atmesc.c | 76 +++++++++++++++++++++---------------------- src/binary.c | 34 +++++++++---------- src/body.c | 2 +- src/control.c | 88 +++++++++++--------------------------------------- src/distorb.c | 29 +++++++++-------- src/distrot.c | 26 +++++++-------- src/eqtide.c | 77 +++++++++++++++++++++---------------------- src/flare.c | 30 ++++++++--------- src/galhabit.c | 10 +++--- src/magmoc.c | 44 ++++++++++++------------- src/options.c | 73 +++++++++++++++++++++-------------------- src/output.c | 10 +++--- src/vplanet.c | 6 ++-- 13 files changed, 229 insertions(+), 276 deletions(-) diff --git a/src/atmesc.c b/src/atmesc.c index 1e0d19d34..fc8372192 100644 --- a/src/atmesc.c +++ b/src/atmesc.c @@ -2648,7 +2648,7 @@ void WriteSurfaceWaterMass(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2672,7 +2672,7 @@ void WriteHEscapeRegime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { *dTmp = body[iBody].iHEscapeRegime; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /** @@ -2696,7 +2696,7 @@ void WriteOxygenMass(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= 1.e-5 * ((BIGG * body[iBody].dMass) / (4. * PI * pow(body[iBody].dRadius, 4))); - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2721,7 +2721,7 @@ void WriteKTide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char cUnit[]) { *dTmp = body[iBody].dKTide; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /** @@ -2745,7 +2745,7 @@ void WriteOxygenMantleMass(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= 1.e-5 * ((BIGG * body[iBody].dMass) / (4. * PI * pow(body[iBody].dRadius, 4))); - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2772,7 +2772,7 @@ void WritePlanetRadius(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2799,7 +2799,7 @@ void WriteEnvelopeMass(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2838,7 +2838,7 @@ void WriteRGLimit(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2863,7 +2863,7 @@ void WriteOxygenMixingRatio(BODY *body, CONTROL *control, OUTPUT *output, int iBody, double *dTmp, char cUnit[]) { *dTmp = fdAtomicOxygenMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /** @@ -2883,7 +2883,7 @@ void WriteOxygenEta(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { *dTmp = body[iBody].dOxygenEta; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /** @@ -2903,7 +2903,7 @@ void WriteAtmXAbsEffH2O(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { *dTmp = body[iBody].dAtmXAbsEffH2O; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /** @@ -2926,7 +2926,7 @@ void WritePlanetRadXUV(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2957,10 +2957,10 @@ void WriteDEnvMassDt(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { //*dTmp *= fdUnitsTime(units->iTime)/fdUnitsMass(units->iMass); - strcpy(cUnit, "kg/s"); + fvFormattedString(&cUnit, "kg/s"); // XXX Why isn't the other line commented out??? } } @@ -2984,7 +2984,7 @@ void WriteThermTemp(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { // System units are Kelvins *dTmp = fdUnitsTemp(*dTmp, U_KELVIN, units->iTemp); @@ -3012,7 +3012,7 @@ void WriteFlowTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { // System units are Kelvins *dTmp = fdUnitsTemp(*dTmp, U_KELVIN, units->iTemp); @@ -3040,9 +3040,9 @@ void WritePresSurf(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { - strcpy(cUnit, "Pa"); + fvFormattedString(&cUnit, "Pa"); } } @@ -3066,7 +3066,7 @@ void WritePresXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { //*dTmp /= fdUnitsPressure(units->iLength); // fsUnitsLength(units->iLength,cUnit); @@ -3093,7 +3093,7 @@ void WriteJeansTime(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -3120,7 +3120,7 @@ void WriteScaleHeight(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3147,7 +3147,7 @@ void WriteAtmGasConst(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -3172,7 +3172,7 @@ void WriteRadSolid(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3199,7 +3199,7 @@ void WriteRocheRadius(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dRocheRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3227,7 +3227,7 @@ void WriteBondiRadius(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dBondiRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3254,9 +3254,9 @@ void WriteFXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { - strcpy(cUnit, "W/m^2"); + fvFormattedString(&cUnit, "W/m^2"); } } @@ -3283,9 +3283,9 @@ void WriteRRCriticalFlux(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { - strcpy(cUnit, "W/m^2"); + fvFormattedString(&cUnit, "W/m^2"); } } @@ -3309,7 +3309,7 @@ void WriteCrossoverMass(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -3333,7 +3333,7 @@ void WriteWaterEscapeRegime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { *dTmp = body[iBody].iWaterEscapeRegime; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } @@ -3369,9 +3369,9 @@ void WriteFXUVCRITDRAG(BODY *body, CONTROL *control, OUTPUT *output, } if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { - strcpy(cUnit, "W/m^2"); + fvFormattedString(&cUnit, "W/m^2"); } } @@ -3392,7 +3392,7 @@ void WriteHREFFLUX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { *dTmp = body[iBody].dFHRef; - strcpy(cUnit, "m^-2 s^-1"); + fvFormattedString(&cUnit, "m^-2 s^-1"); } /** @@ -3413,7 +3413,7 @@ void WriteHDiffLimFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char cUnit[]) { *dTmp = body[iBody].dFHDiffLim; - strcpy(cUnit, "m^-2 s^-1"); + fvFormattedString(&cUnit, "m^-2 s^-1"); } /** @@ -3441,7 +3441,7 @@ void WriteHRefODragMod(BODY *body, CONTROL *control, OUTPUT *output, } else { *dTmp = -1; } - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } @@ -3463,7 +3463,7 @@ void WriteMolecOxygenMixingRatio(BODY *body, CONTROL *control, OUTPUT *output, int iBody, double *dTmp, char cUnit[]) { *dTmp = fdMolecOxygenMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /** @@ -3484,7 +3484,7 @@ void WriteWaterAtmMixingRatio(BODY *body, CONTROL *control, OUTPUT *output, int iBody, double *dTmp, char cUnit[]) { *dTmp = fdWaterAtmMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /** diff --git a/src/binary.c b/src/binary.c index d9126d225..8847b41a8 100644 --- a/src/binary.c +++ b/src/binary.c @@ -1026,7 +1026,7 @@ void WriteFreeEccBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = -1; } - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteFreeIncBinary(BODY *body, CONTROL *control, OUTPUT *output, @@ -1041,7 +1041,7 @@ void WriteFreeIncBinary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1069,7 +1069,7 @@ void WriteBinPriRBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[1].dMass * radius * dInvMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1097,7 +1097,7 @@ void WriteBinSecRBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[0].dMass * radius * dInvMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1117,7 +1117,7 @@ void WriteBinPriPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fndEccToTrue(eccAnomaly, body[1].dEcc); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1138,7 +1138,7 @@ void WriteBinSecPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fndEccToTrue(eccAnomaly, body[1].dEcc) + PI; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1157,7 +1157,7 @@ void WriteCBPPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1171,7 +1171,7 @@ void WriteCBPPhiDotBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCBPPhiDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1190,7 +1190,7 @@ void WriteLL13N0Binary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1210,7 +1210,7 @@ void WriteLL13K0Binary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1229,7 +1229,7 @@ void WriteLL13V0Binary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1244,7 +1244,7 @@ void WriteCBPRBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCBPR; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1259,7 +1259,7 @@ void WriteCBPR0Binary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dR0; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1273,7 +1273,7 @@ void WriteCBPZBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCBPZ; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1287,7 +1287,7 @@ void WriteCBPRDotBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCBPRDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsVel(units, cUnit); @@ -1301,7 +1301,7 @@ void WriteCBPZDotBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCBPZDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsVel(units, cUnit); @@ -1322,7 +1322,7 @@ void WriteCBPInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } // Always in units of insolation received by Earth - strcpy(cUnit, "F/F_Earth"); + fvFormattedString(&cUnit, "F/F_Earth"); } void InitializeOutputBinary(OUTPUT *output, fnWriteOutput fnWrite[]) { diff --git a/src/body.c b/src/body.c index 3f3adadf7..772398609 100644 --- a/src/body.c +++ b/src/body.c @@ -442,7 +442,7 @@ void BodyCopy(BODY *dest, BODY *src, EVOLVE *evolve) { Module-specific parameters belong in the fnBodyCopy subroutines. */ for (iBody = 0; iBody < evolve->iNumBodies; iBody++) { - strcpy(dest[iBody].cName, src[iBody].cName); + fvFormattedString(&dest[iBody].cName, src[iBody].cName); dest[iBody].iBodyType = src[iBody].iBodyType; dest[iBody].dMass = src[iBody].dMass; dest[iBody].dRadius = src[iBody].dRadius; diff --git a/src/control.c b/src/control.c index 2bceb3e1b..4f8070543 100644 --- a/src/control.c +++ b/src/control.c @@ -60,7 +60,7 @@ void sort_options(OPTIONS *options, int sorted[]) { SORTED_OPTIONS sorted_options[MODULEOPTEND]; for (iOpt = 0; iOpt < MODULEOPTEND; iOpt++) { sorted_options[iOpt].index = iOpt; - strcpy(sorted_options[iOpt].name, options[iOpt].cName); + fvFormattedString(&sorted_options[iOpt].name, options[iOpt].cName); } qsort(sorted_options, MODULEOPTEND, sizeof(sorted_options[0]), compare_option_names); @@ -78,7 +78,7 @@ void sort_output(OUTPUT *output, int sorted[]) { SORTED_OUTPUT sorted_output[MODULEOUTEND]; for (iOpt = 0; iOpt < MODULEOUTEND; iOpt++) { sorted_output[iOpt].index = iOpt; - strcpy(sorted_output[iOpt].name, output[iOpt].cName); + fvFormattedString(&sorted_output[iOpt].name, output[iOpt].cName); } qsort(sorted_output, MODULEOUTEND, sizeof(sorted_output[0]), compare_output_names); @@ -265,7 +265,7 @@ void WriteDescription(char cLongDescr[], char cDescr[], int iMaxChars) { while (iWord < iNumWords) { // Extra two is for spaces on either side while (iCharsLeft > iCharsLeft - strlen(cDescription[iWord]) - 2) { - strcpy(cLine[iLineWord], cDescription[iWord]); + fvFormattedString(&cLine[iLineWord], cDescription[iWord]); // extra 1 for space iCharsLeft -= (strlen(cLine[iLineWord]) + 1); iWord++; @@ -387,61 +387,6 @@ void WriteHelpOption(OPTIONS *options, int bLong) { WriteDescription(options->cLongDescr, options->cDescr, iMaxChars); - /* - // Try Long Description first - GetWords(options->cLongDescr,cDescription,&iNumWords,&bFoo); - if (memcmp(cDescription[0], "null", 4) == 0) { - // No long description, try short - memset(cDescription[0],'\0',OPTLEN); - GetWords(options->cDescr,cDescription,&iNumWords,&bFoo); - } - iCharsLeft = iMaxChars; - iWord = 0; // counter for word in description - iLineWord = 0; // counter for word in line - iLine = 0; - - while (iWord < iNumWords) { - // Extra two is for spaces on either side - while (iCharsLeft > iCharsLeft - strlen(cDescription[iWord]) - 2) - { strcpy(cLine[iLineWord],cDescription[iWord]); - // extra 1 for space - iCharsLeft -= (strlen(cLine[iLineWord])+1); - iWord++; - iLineWord++; - if (iWord == iNumWords) { - // Hit end of description inside inner loop - break; - } - } - // Line is full - if (iLine == 0) { - printf("| Description || "); - } else { - printf("| || "); - } - for (iLineWordNow = 0; iLineWordNow < iLineWord; iLineWordNow++) { - // write and erase - printf("%s ",cLine[iLineWordNow]); - } - for (iChar = 0; iChar < iCharsLeft; iChar++) { - printf(" "); - } - printf(" |\n"); - // Now reset counters - iCharsLeft = iMaxChars; - for (iLineWordNow = 0; iLineWordNow < MAXARRAY; iLineWordNow++) { - memset(cLine[iLineWordNow],'\0',OPTLEN); - } - iLine++; - iLineWord = 0; - } - printf("+-----------------+--------------------------------------------------------------------+\n"); - - // Reset description for next time - for (iLineWordNow = 0; iLineWordNow < MAXARRAY; iLineWordNow++) { - memset(cDescription[iLineWordNow],'\0',OPTLEN); - } - */ // Type int typelen; char *typestr; @@ -867,6 +812,18 @@ void fprintd(FILE *fp, double x, int iExp, int iDig) { } } +void AllocateStringMemory(char **sString,int iStringLength) { + if (*sString != NULL) { + free(*sString); + } + *sString = (char*)malloc((iStringLength) * sizeof(char)); + + if (*sString == NULL) { + fprintf(stderr,"ERROR: Failure in function AllocateStringMemory.\n"); + exit(EXIT_EXE); + } +} + void fvFormattedString(char **sString,const char* sFormattedString, ...) { va_list vaArgs,vaArgsCopy; @@ -876,17 +833,8 @@ void fvFormattedString(char **sString,const char* sFormattedString, ...) { int iStringLength = vsnprintf(NULL, 0, sFormattedString, vaArgs) + 1; va_end(vaArgs); - if (*sString == NULL) { - *sString = (char*)malloc((iStringLength) * sizeof(char)); - } else { - realloc(sString, iStringLength* sizeof(char)); - } - if (*sString == NULL) { - va_end(vaArgsCopy); - fprintf(stderr,"ERROR: Unable to create formatted string in functionfvWriteString.\n"); - exit(EXIT_EXE); - } - + AllocateStringMemory(sString,iStringLength); + vsnprintf(*sString, iStringLength, sFormattedString, vaArgsCopy); va_end(vaArgsCopy); } @@ -1233,7 +1181,7 @@ void fsUnitsTempRate(int iType, char cUnit[]) { void InfileCopy(INFILE *dest, INFILE *src) { int iLine; - strcpy(dest->cIn, src->cIn); + fvFormattedString(&dest->cIn, src->cIn); for (iLine = 0; iLine < src->iNumLines; iLine++) { dest->bLineOK[iLine] = src->bLineOK[iLine]; } diff --git a/src/distorb.c b/src/distorb.c index 231c9785d..7236ce00c 100644 --- a/src/distorb.c +++ b/src/distorb.c @@ -476,7 +476,7 @@ double fndCalcLongA(double dLongP, double dArgP) { void VerifyOrbitModel(CONTROL *control, FILES *files, OPTIONS *options) { int iFile, iFound = 0; - char cTmp[8]; + char *cTmp; for (iFile = 0; iFile < files->iNumInputs; iFile++) { if (options[OPT_ORBITMODEL].iLine[iFile] >= 0) { @@ -499,7 +499,7 @@ void VerifyOrbitModel(CONTROL *control, FILES *files, OPTIONS *options) { } if (iFound == 0) { - strcpy(cTmp, options[OPT_ORBITMODEL].cDefault); + fvFormattedString(&cTmp, options[OPT_ORBITMODEL].cDefault); if (!memcmp(sLower(cTmp), "ll2", 3)) { control->Evolve.iDistOrbModel = LL2; } else if (!memcmp(sLower(cTmp), "rd4", 3)) { @@ -514,6 +514,7 @@ void VerifyOrbitModel(CONTROL *control, FILES *files, OPTIONS *options) { make it seem like the user set it. */ options[OPT_ORBITMODEL].iLine[0] = 1; } + free(cTmp); } @@ -1808,7 +1809,7 @@ void WriteBodyDEccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1841,7 +1842,7 @@ void WriteBodyDSincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1868,7 +1869,7 @@ void WriteBodyDLongPDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1903,7 +1904,7 @@ void WriteBodyDLongADtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1940,7 +1941,7 @@ void WriteBodyDIncDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1956,7 +1957,7 @@ void WriteBodySinc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = sqrt(body[iBody].dPinc * body[iBody].dPinc + body[iBody].dQinc * body[iBody].dQinc); - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } /* @@ -1988,7 +1989,7 @@ void WriteBodyPinc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char cUnit[]) { *dTmp = body[iBody].dPinc; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteBodyQinc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1996,7 +1997,7 @@ void WriteBodyQinc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char cUnit[]) { *dTmp = body[iBody].dQinc; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteBodyDHeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, @@ -2016,7 +2017,7 @@ void WriteBodyDHeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2040,7 +2041,7 @@ void WriteBodyDKeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2064,7 +2065,7 @@ void WriteBodyDPincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2088,7 +2089,7 @@ void WriteBodyDQincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); diff --git a/src/distrot.c b/src/distrot.c index d2459f296..9aa13b84e 100644 --- a/src/distrot.c +++ b/src/distrot.c @@ -148,11 +148,11 @@ void ReadFileOrbitData(BODY *body, CONTROL *control, FILES *files, /* Cannot exist in primary input file -- Each body has an output file */ NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); - strcpy(body[iFile - 1].cFileOrbitData, cTmp); + fvFormattedString(&body[iFile - 1].cFileOrbitData, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else if (iFile > 0) { // fvFormattedString(body[iFile-1].cFileOrbitData,"%s",options[OPT_FILEORBITDATA].cDefault); - strcpy(body[iFile - 1].cFileOrbitData, options->cDefault); + fvFormattedString(&body[iFile - 1].cFileOrbitData, options->cDefault); } } @@ -980,7 +980,7 @@ void WriteBodyDOblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1036,7 +1036,7 @@ void WriteOblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1077,7 +1077,7 @@ void WritePrecATimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1114,7 +1114,7 @@ void WriteBodyDPrecADtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1139,7 +1139,7 @@ void WriteBodyDXoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1162,7 +1162,7 @@ void WriteBodyDYoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1185,7 +1185,7 @@ void WriteBodyDZoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1212,7 +1212,7 @@ void WriteXoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1239,7 +1239,7 @@ void WriteYoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1266,7 +1266,7 @@ void WriteZoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1496,7 +1496,7 @@ void WritePrecFNat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); diff --git a/src/eqtide.c b/src/eqtide.c index 2ab163f33..4074b5d27 100644 --- a/src/eqtide.c +++ b/src/eqtide.c @@ -625,8 +625,8 @@ void ReadTidePerts(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, /* Now do some initializing */ body[iFile - 1].iTidePerts = iNumIndices; for (iBody = 0; iBody < iNumIndices; iBody++) { - memset(body[iFile - 1].saTidePerts[iBody], '\0', NAMELEN); - strcpy(body[iFile - 1].saTidePerts[iBody], saTmp[iBody]); + //memset(body[iFile - 1].saTidePerts[iBody], '\0', NAMELEN); + fvFormattedString(&body[iFile - 1].saTidePerts[iBody], saTmp[iBody]); } UpdateFoundOptionMulti(&files->Infile[iFile], options, lTmp, iNumLines, iFile); @@ -1603,7 +1603,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, - sizeof(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; @@ -1752,7 +1752,7 @@ int fiGetModuleIntEqtide(MODULE *module, int iBody) { void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { int iFile, iFound = 0; - char cTmp[8]; + char *cTmp; for (iFile = 0; iFile < files->iNumInputs; iFile++) { if (options[OPT_TIDEMODEL].iLine[iFile] >= 0) { @@ -1775,7 +1775,7 @@ void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { } if (iFound == 0) { - strcpy(cTmp, options[OPT_TIDEMODEL].cDefault); + fvFormattedString(&cTmp, options[OPT_TIDEMODEL].cDefault); if (!memcmp(sLower(cTmp), "p2", 2)) { control->Evolve.iEqtideModel = CPL; } else if (!memcmp(sLower(cTmp), "t8", 2)) { @@ -1790,6 +1790,7 @@ void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { make it seem like the user set it. */ options[OPT_TIDEMODEL].iLine[0] = 1; } + free(cTmp); } void AssignEqtideDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, @@ -2340,7 +2341,7 @@ void WriteLockTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dLockTime; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2354,7 +2355,7 @@ void WriteTidalRadius(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dTidalRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2377,7 +2378,7 @@ void WriteDOblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsAngle(units->iAngle); fsUnitsAngRate(units, cUnit); @@ -2395,7 +2396,7 @@ void WriteTidalQOcean(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = -1; } - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteTidalQEnv(BODY *body, CONTROL *control, OUTPUT *output, @@ -2409,7 +2410,7 @@ void WriteTidalQEnv(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = -1; } - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteDSemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, @@ -2423,7 +2424,7 @@ void WriteDSemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsVel(units, cUnit); @@ -2438,7 +2439,7 @@ void WriteDEccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2457,7 +2458,7 @@ void WriteDMeanMotionDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsRate(units->iTime, cUnit); @@ -2477,7 +2478,7 @@ void WriteDOrbPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fvFormattedString(&cUnit, "%s", ""); @@ -2500,9 +2501,9 @@ void WriteDRotPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dDeriv * (-2 * PI / (body[iBody].dRotRate * body[iBody].dRotRate)); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } } @@ -2522,7 +2523,7 @@ void WriteDRotRateDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) * fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2541,7 +2542,7 @@ void WriteDHeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2559,7 +2560,7 @@ void WriteDKeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2581,7 +2582,7 @@ void WriteDXoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2603,7 +2604,7 @@ void WriteDYoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2625,7 +2626,7 @@ void WriteDZoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2655,7 +2656,7 @@ void WriteEccTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2673,7 +2674,7 @@ void WriteEqRotPer(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2698,7 +2699,7 @@ void WriteEqRotPerCont(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2719,7 +2720,7 @@ void WriteEqRotPerDiscrete(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2737,7 +2738,7 @@ void WriteEqRotRate(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2761,7 +2762,7 @@ void WriteEqRotRateCont(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2782,7 +2783,7 @@ void WriteEqRotRateDiscrete(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2811,7 +2812,7 @@ void WriteEqTidePower(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2857,7 +2858,7 @@ void WriteK2Ocean(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dK2Ocean; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteK2Env(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2866,7 +2867,7 @@ void WriteK2Env(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dK2Env; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteOblTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, @@ -2889,7 +2890,7 @@ void WriteOblTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, } */ *dTmp = -1; - strcpy(cUnit, ""); + fvFormattedString(&cUnit, ""); } void WriteRotTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, @@ -2901,7 +2902,7 @@ void WriteRotTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2919,7 +2920,7 @@ void WriteSemiTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2949,7 +2950,7 @@ fprintf(stderr,"TidalZ: %lf\n",body[iBody].dTidalZ[jBody]); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -2965,7 +2966,7 @@ void WriteEnergyFluxEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -2979,7 +2980,7 @@ void WriteTidalTau(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); diff --git a/src/flare.c b/src/flare.c index fbe44aef0..54aca8b47 100644 --- a/src/flare.c +++ b/src/flare.c @@ -996,7 +996,7 @@ void WriteLXUVFlare(BODY *body, *dTmp = fdLXUVFlare(body, control->Evolve.dTimeStep, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -1057,7 +1057,7 @@ void WriteFlareFreq1(BODY *body, *dTmp = body[iBody].dFlareFreq1; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1075,7 +1075,7 @@ void WriteFlareFreq2(BODY *body, *dTmp = body[iBody].dFlareFreq2; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1093,7 +1093,7 @@ void WriteFlareFreq3(BODY *body, *dTmp = body[iBody].dFlareFreq3; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1111,7 +1111,7 @@ void WriteFlareFreq4(BODY *body, *dTmp = body[iBody].dFlareFreq4; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1129,7 +1129,7 @@ void WriteFlareFreqMin(BODY *body, *dTmp = body[iBody].dFlareFreqMin; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1147,7 +1147,7 @@ void WriteFlareFreqMid(BODY *body, *dTmp = body[iBody].dFlareFreqMid; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1165,7 +1165,7 @@ void WriteFlareFreqMax(BODY *body, *dTmp = body[iBody].dFlareFreqMax; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1183,7 +1183,7 @@ void WriteFlareEnergy1(BODY *body, *dTmp = body[iBody].dFlareEnergy1; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1202,7 +1202,7 @@ void WriteFlareEnergy2(BODY *body, *dTmp = body[iBody].dFlareEnergy2; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1221,7 +1221,7 @@ void WriteFlareEnergy3(BODY *body, *dTmp = body[iBody].dFlareEnergy3; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1240,7 +1240,7 @@ void WriteFlareEnergy4(BODY *body, *dTmp = body[iBody].dFlareEnergy4; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1258,7 +1258,7 @@ void WriteFlareEnergyMin(BODY *body, *dTmp = body[iBody].dFlareEnergyMin; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1276,7 +1276,7 @@ void WriteFlareEnergyMid(BODY *body, *dTmp = body[iBody].dFlareEnergyMid; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1295,7 +1295,7 @@ void WriteFlareEnergyMax(BODY *body, *dTmp = body[iBody].dFlareEnergyMax; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); diff --git a/src/galhabit.c b/src/galhabit.c index 0d614bc29..63b7a5e2c 100644 --- a/src/galhabit.c +++ b/src/galhabit.c @@ -1418,7 +1418,7 @@ void WriteBodyPeriQ(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1509,7 +1509,7 @@ void WriteDEccDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1553,7 +1553,7 @@ void WriteDIncDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1598,7 +1598,7 @@ void WriteDLongADtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1651,7 +1651,7 @@ void WriteDArgPDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); diff --git a/src/magmoc.c b/src/magmoc.c index 07496da72..eb5949c21 100644 --- a/src/magmoc.c +++ b/src/magmoc.c @@ -2216,7 +2216,7 @@ void WritePotTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dPotTemp; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTemp(units->iTemp, 1, 0); fsUnitsTemp(units->iTemp, cUnit); @@ -2229,7 +2229,7 @@ void WriteSurfTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dSurfTemp; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsTemp(units->iTemp, 1, 0); fsUnitsTemp(units->iTemp, cUnit); @@ -2242,7 +2242,7 @@ void WriteSolidRadius(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dSolidRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2255,7 +2255,7 @@ void WriteWaterMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dWaterMassMOAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2268,7 +2268,7 @@ void WriteWaterMassSol(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dWaterMassSol; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2281,7 +2281,7 @@ void WriteCO2MassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCO2MassMOAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2294,7 +2294,7 @@ void WriteCO2MassSol(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCO2MassSol; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2307,7 +2307,7 @@ void WriteOxygenMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dOxygenMassMOAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2320,7 +2320,7 @@ void WriteOxygenMassSol(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dOxygenMassSol; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2333,7 +2333,7 @@ void WritePressWaterAtm(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dPressWaterAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -2344,7 +2344,7 @@ void WritePressCO2Atm(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dPressCO2Atm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -2355,7 +2355,7 @@ void WritePressOxygenAtm(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dPressOxygenAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -2366,7 +2366,7 @@ void WriteHydrogenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHydrogenMassSpace; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2379,7 +2379,7 @@ void WriteOxygenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dOxygenMassSpace; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2392,7 +2392,7 @@ void WriteFracFe2O3Man(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dFracFe2O3Man; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -2403,7 +2403,7 @@ void WriteNetFluxAtmo(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dNetFluxAtmo; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -2414,7 +2414,7 @@ void WriteWaterFracMelt(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dWaterFracMelt; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -2425,7 +2425,7 @@ void WriteCO2FracMelt(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCO2FracMelt; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } @@ -2438,7 +2438,7 @@ void WriteRadioPower(BODY *body, CONTROL *control, OUTPUT *output, .dRadioHeat; //* (4/3*PI*body[iBody].dManMeltDensity*(pow(body[iBody].dRadius,3)-pow(body[iBody].dCoreRadius,3))); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -2453,7 +2453,7 @@ void WriteTidalPower(BODY *body, CONTROL *control, OUTPUT *output, .dTidalHeat; // * (4/3*PI*body[iBody].dManMeltDensity*(pow(body[iBody].dRadius,3)-pow(body[iBody].dCoreRadius,3))); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -2466,7 +2466,7 @@ void WriteHZInnerEdge(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHZInnerEdge; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2479,7 +2479,7 @@ void WriteMeltFraction(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMeltFraction; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(&cUnit, output->cNeg); } else { } } diff --git a/src/options.c b/src/options.c index c5aaa9861..2cdb83a67 100644 --- a/src/options.c +++ b/src/options.c @@ -51,7 +51,7 @@ int CheckComment(char cLine[], int iLen) { void GetLine(char cFile[], char cOption[], char cLine[], int *iLine, int iVerbose) { int iLen, bDone = 0, iLineTmp = 0; - char cWord[OPTLEN], cTmp[LINE]; + char *cWord[OPTLEN], cTmp[LINE]; FILE *fp; iLen = strlen(cOption); @@ -555,7 +555,7 @@ void Unrecognized(FILES files) { void UpdateFoundOption(INFILE *input, OPTIONS *options, int iLine, int iFile) { input->bLineOK[iLine] = 1; options->iLine[iFile] = iLine; - strcpy(options->cFile[iFile], input->cIn); + fvFormattedString(&options->cFile[iFile], input->cIn); } void UpdateFoundOptionMulti(INFILE *input, OPTIONS *options, int *iLine, @@ -567,7 +567,7 @@ void UpdateFoundOptionMulti(INFILE *input, OPTIONS *options, int *iLine, The user should be able to figure it out from there. */ options->iLine[iFile] = iLine[0]; - strcpy(options->cFile[iFile], input->cIn); + fvFormattedString(&options->cFile[iFile], input->cIn); for (iLineNow = 0; iLineNow < iNumLines; iLineNow++) { input->bLineOK[iLine[iLineNow]] = 1; } @@ -1111,7 +1111,7 @@ void ReadSystemName(CONTROL *control, FILES *files, OPTIONS *options, if (lTmp >= 0) { CheckDuplication(files, options, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); - strcpy(system->cName, cTmp); + fvFormattedString(&system->cName, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } } @@ -1159,7 +1159,7 @@ void ReadBodyFileNames(CONTROL *control, FILES *files, OPTIONS *options, for (iIndex = 0; iIndex < iNumIndices; iIndex++) { - strcpy(files->Infile[iIndex + 1].cIn, saTmp[iIndex]); + fvFormattedString(&files->Infile[iIndex + 1].cIn, saTmp[iIndex]); } control->Evolve.iNumBodies = iNumIndices; @@ -1185,7 +1185,7 @@ void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, int iFile, iBody, iModule; INFILE input; - strcpy(input.cIn, infile); + fvFormattedString(&input.cIn, infile); /* Initialize primary input file */ InitializeInput(&input); @@ -1277,7 +1277,7 @@ void AssignDefaultString(OPTIONS *options, char cOption[], int iNumFiles) { } /* If made it here, not input already, so assign default */ - strcpy(cOption, options->cDefault); + fvFormattedString(&cOption, options->cDefault); } int bOptionAlreadyFound(int *iLine, int iNumFiles) { @@ -1427,7 +1427,7 @@ void ReadOutFile(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, /* Cannot exist in primary input file -- Each body has an output file */ NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); - strcpy(files->Outfile[iFile - 1].cOut, cTmp); + fvFormattedString(&files->Outfile[iFile - 1].cOut, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else if (iFile > 0) { AssignDefaultString(options, files->Outfile[iFile - 1].cOut, @@ -1583,7 +1583,7 @@ void ReadBodyName(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); if (strlen(cTmp) > 0) { - strcpy(body[iFile - 1].cName, cTmp); + fvFormattedString(&body[iFile - 1].cName, cTmp); } else { fvFormattedString(&body[iFile - 1].cName, "%d", iFile); } @@ -1605,10 +1605,10 @@ void ReadColor(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, if (lTmp >= 0) { NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); - strcpy(body[iFile - 1].sColor, cTmp); + fvFormattedString(&body[iFile - 1].sColor, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else if (iFile > 0) { - strcpy(body[iFile - 1].sColor, options->cDefault); + fvFormattedString(&body[iFile - 1].sColor, options->cDefault); } } @@ -2142,7 +2142,7 @@ void ReadLogFile(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, if (lTmp >= 0) { CheckDuplication(files, options, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); - strcpy(files->cLog, cTmp); + fvFormattedString(&files->cLog, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else { /* Assign Default */ @@ -2655,8 +2655,8 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 1, iNumGrid = 0; int k, iOut = -1, *lTmp, iCol, jCol; - char saTmp[MAXARRAY][OPTLEN], cTmp[OPTLEN], cOption[MAXARRAY][OPTLEN], - cOut[OPTLEN]; + char saTmp[MAXARRAY][OPTLEN], cTmp[OPTLEN], *cOption[MAXARRAY], + *cOut; int iLen1, iLen2; lTmp = malloc(MAXLINES * sizeof(int)); @@ -2700,19 +2700,19 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, for (j = 0; j < OPTLEN; j++) { cTmp[j] = 0; } - strcpy(cTmp, saTmp[i]); + fvFormattedString(&cTmp, saTmp[i]); for (j = 0; j < MODULEOUTEND; j++) { for (k = 0; k < OPTLEN; k++) { cOut[k] = 0; } - strcpy(cOut, output[j].cName); + fvFormattedString(&cOut, output[j].cName); iLen1 = strlen(cOut); iLen2 = strlen(cTmp); /* Check for perfect match */ if ((iLen1 == iLen2) && (memcmp(sLower(cTmp), sLower(cOut), strlen(cOut)) == 0)) { /* Output option found! */ - strcpy(cOption[count], output[j].cName); + fvFormattedString(&cOption[count], output[j].cName); count = 1; iOut = j; if (output[j].bGrid == 1) { @@ -2729,7 +2729,7 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, if (memcmp(sLower(cTmp), sLower(cOut), iLen) == 0 && iLen1 > iLen2) { /* Output option found! */ - strcpy(cOption[count], output[j].cName); + fvFormattedString(&cOption[count], output[j].cName); count++; iOut = j; if (output[j].bGrid == 1) { @@ -2788,10 +2788,10 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, } if (output[iOut].bGrid == 0 || output[iOut].bGrid == 2) { memset(files->Outfile[iFile - 1].caCol[i], '\0', OPTLEN); - strcpy(files->Outfile[iFile - 1].caCol[i], output[iOut].cName); + fvFormattedString(&files->Outfile[iFile - 1].caCol[i], output[iOut].cName); } else { memset(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], '\0', OPTLEN); - strcpy(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], + fvFormattedString(&files->Outfile[iFile - 1].caGrid[iNumGrid - 1], output[iOut].cName); } // Is option part of selected modules? @@ -2852,13 +2852,15 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, } free(lTmp); + free(cTmp); + free(cOption); } void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 0, iNumGrid = 0; int k, iOut = -1, *lTmp; - char saTmp[MAXARRAY][OPTLEN], cTmp[OPTLEN], cOption[MAXARRAY][OPTLEN], + char saTmp[MAXARRAY][OPTLEN], *cTmp, cOption[MAXARRAY][OPTLEN], cOut[OPTLEN]; int iLen1, iLen2; @@ -2893,19 +2895,19 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, for (j = 0; j < OPTLEN; j++) { cTmp[j] = 0; } - strcpy(cTmp, saTmp[i]); + fvFormattedString(&cTmp, saTmp[i]); for (j = 0; j < MODULEOUTEND; j++) { for (k = 0; k < OPTLEN; k++) { cOut[k] = 0; } - strcpy(cOut, output[j].cName); + fvFormattedString(&cOut, output[j].cName); iLen1 = strlen(cOut); iLen2 = strlen(cTmp); /* Check for perfect match */ if ((iLen1 == iLen2) && (memcmp(sLower(cTmp), sLower(cOut), strlen(cOut)) == 0)) { /* Output option found! */ - strcpy(cOption[count], output[j].cName); + fvFormattedString(&cOption[count], output[j].cName); count = 1; iOut = j; if (output[j].bGrid == 1 || output[j].bGrid == 2) { @@ -2921,7 +2923,7 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, if (memcmp(sLower(cTmp), sLower(cOut), iLen) == 0 && iLen1 > iLen2) { /* Output option found! */ - strcpy(cOption[count], output[j].cName); + fvFormattedString(&cOption[count], output[j].cName); count++; iOut = j; if (output[j].bGrid == 1 || output[j].bGrid == 2) { @@ -2979,10 +2981,10 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, } if (output[iOut].bGrid == 0) { memset(files->Outfile[iFile - 1].caCol[i], '\0', OPTLEN); - strcpy(files->Outfile[iFile - 1].caCol[i], output[iOut].cName); + fvFormattedString(&files->Outfile[iFile - 1].caCol[i], output[iOut].cName); } else { memset(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], '\0', OPTLEN); - strcpy(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], + fvFormattedString(&files->Outfile[iFile - 1].caGrid[iNumGrid - 1], output[iOut].cName); } } @@ -4661,23 +4663,24 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { /* Initialize all parameters describing the option's location */ for (iOpt = 0; iOpt < MODULEOPTEND; iOpt++) { - memset(options[iOpt].cName, '\0', OPTLEN); + //memset(options[iOpt].cName, '\0', OPTLEN); + options[iOpt].cName = NULL; fvFormattedString(&options[iOpt].cName, "null"); options[iOpt].iLine = malloc(MAXFILES * sizeof(int)); options[iOpt].bMultiFile = 0; options[iOpt].iMultiIn = 0; options[iOpt].iType = -1; - memset(options[iOpt].cDescr, '\0', OPTDESCR); + //memset(options[iOpt].cDescr, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cDescr, "null"); - memset(options[iOpt].cLongDescr, '\0', OPTLONDESCR); + //memset(options[iOpt].cLongDescr, '\0', OPTLONDESCR); fvFormattedString(&options[iOpt].cLongDescr, "null"); - memset(options[iOpt].cDefault, '\0', OPTDESCR); + //memset(options[iOpt].cDefault, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cDefault, "null"); - memset(options[iOpt].cValues, '\0', OPTDESCR); + //memset(options[iOpt].cValues, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cValues, "null"); - memset(options[iOpt].cNeg, '\0', OPTDESCR); + //memset(options[iOpt].cNeg, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cNeg, "null"); - memset(options[iOpt].cDimension, '\0', OPTDESCR); + //memset(options[iOpt].cDimension, '\0', OPTDESCR); options[iOpt].dDefault = NAN; options[iOpt].iModuleBit = 0; options[iOpt].bNeg = 0; @@ -4686,7 +4689,7 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { for (iFile = 0; iFile < MAXFILES; iFile++) { options[iOpt].iLine[iFile] = -1; - memset(options[iOpt].cFile[iFile], '\0', OPTLEN); + //memset(options[iOpt].cFile[iFile], '\0', OPTLEN); fvFormattedString(&options[iOpt].cFile[iFile], "null"); } } diff --git a/src/output.c b/src/output.c index e2cfb5a51..c731acfff 100644 --- a/src/output.c +++ b/src/output.c @@ -2452,21 +2452,21 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, void InitializeOutput(FILES *files, OUTPUT *output, fnWriteOutput fnWrite[]) { int iOut, iBody, iModule; - memset(files->cLog, '\0', NAMELEN); + //memset(files->cLog, '\0', NAMELEN); for (iOut = 0; iOut < MODULEOUTEND; iOut++) { - memset(output[iOut].cName, '\0', OPTLEN); + //memset(output[iOut].cName, '\0', OPTLEN); fvFormattedString(&output[iOut].cName, "null"); output[iOut].bGrid = 0; output[iOut].bNeg = 0; /* Is a negative option allowed */ output[iOut].dNeg = 1; /* Conversion factor for negative options */ output[iOut].iNum = 0; /* Number of parameters associated with option */ output[iOut].bDoNeg = malloc(MAXFILES * sizeof(int)); - memset(output[iOut].cDescr, '\0', OUTDESCR); + //memset(output[iOut].cDescr, '\0', OUTDESCR); fvFormattedString(&output[iOut].cDescr, "null"); - memset(output[iOut].cLongDescr, '\0', OUTLONDESCR); + //memset(output[iOut].cLongDescr, '\0', OUTLONDESCR); fvFormattedString(&output[iOut].cLongDescr, "null"); - memset(output[iOut].cNeg, '\0', OUTDESCR); + //memset(output[iOut].cNeg, '\0', OUTDESCR); fvFormattedString(&output[iOut].cNeg, "null"); for (iBody = 0; iBody < MAXFILES; iBody++) { output[iOut].bDoNeg[iBody] = 0; diff --git a/src/vplanet.c b/src/vplanet.c index db1e8fddf..c82888a9d 100644 --- a/src/vplanet.c +++ b/src/vplanet.c @@ -60,7 +60,7 @@ int main_impl(int argc, char *argv[]) { MODULE module; FILES files; SYSTEM system; - char infile[NAMELEN]; + char *infile; fnReadOption fnRead[MODULEOPTEND]; // XXX Pointers? fnWriteOutput fnWrite[MODULEOUTEND]; fnUpdateVariable ***fnUpdate; @@ -89,7 +89,7 @@ int main_impl(int argc, char *argv[]) { control.Evolve.iOneStep = 0; /* Copy executable file name to the files struct. */ - strcpy(files.cExe, argv[0]); + fvFormattedString(&files.cExe, argv[0]); if (argc == 1) { fprintf(stderr, @@ -135,7 +135,7 @@ int main_impl(int argc, char *argv[]) { /* Now identify input file, usually vpl.in */ for (iOption = 1; iOption < argc; iOption++) { if (iOption != iVerbose && iOption != iQuiet && iOption != iOverwrite) { - strcpy(infile, argv[iOption]); + fvFormattedString(&infile, argv[iOption]); } } From b24fe70e6d14afe8469fec4f75464bf7b6aaaeb6 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Wed, 24 Jul 2024 17:56:28 -0700 Subject: [PATCH 12/31] Recasted a few more string arrays to pointers to work with new FormattedString function. --- src/control.c | 4 ++-- src/options.c | 12 +++++++----- src/vplanet.h | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/control.c b/src/control.c index 4f8070543..df9eac81b 100644 --- a/src/control.c +++ b/src/control.c @@ -33,13 +33,13 @@ int strcicmp(char const *a, char const *b) { //! Dummy struct used to sort options typedef struct { int index; - char name[OPTLEN]; + char *name; } SORTED_OPTIONS; //! Dummy struct used to sort output typedef struct { int index; - char name[OUTLEN]; + char *name; } SORTED_OUTPUT; //! Comparison function for option names diff --git a/src/options.c b/src/options.c index 2cdb83a67..52c3adac1 100644 --- a/src/options.c +++ b/src/options.c @@ -51,15 +51,15 @@ int CheckComment(char cLine[], int iLen) { void GetLine(char cFile[], char cOption[], char cLine[], int *iLine, int iVerbose) { int iLen, bDone = 0, iLineTmp = 0; - char *cWord[OPTLEN], cTmp[LINE]; + char *cWord, *cTmp; FILE *fp; iLen = strlen(cOption); fp = fopen(cFile, "r"); memset(cLine, '\0', LINE); - memset(cTmp, '\0', LINE); - memset(cWord, '\0', OPTLEN); + // memset(cTmp, '\0', LINE); + // memset(cWord, '\0', OPTLEN); while (fgets(cTmp, LINE, fp) != NULL) { if (!CheckComment(cTmp, LINE)) { @@ -81,10 +81,12 @@ void GetLine(char cFile[], char cOption[], char cLine[], int *iLine, } } iLineTmp++; - memset(cTmp, '\0', LINE); - memset(cWord, '\0', OPTLEN); + // memset(cTmp, '\0', LINE); + // memset(cWord, '\0', OPTLEN); } fclose(fp); + free(cWord); + free(cTmp); } /* If the previous line ended in $, must find the next valid line diff --git a/src/vplanet.h b/src/vplanet.h index 2419ccc4e..6e0c527cb 100644 --- a/src/vplanet.h +++ b/src/vplanet.h @@ -368,7 +368,7 @@ struct BODY { */ int bRelaxDynEllip; /**< shape of planet relaxes when spun down */ int bReadOrbitData; /**< Use orbit data from file rather than distorb */ - char cFileOrbitData[NAMELEN]; /**< read orbital data from this file + char *cFileOrbitData; /**< read orbital data from this file (distorb=0) */ double *daTimeSeries; /**< time series for orbital data */ double *daSemiSeries; /**< time series for orbital data */ From e039aa0ec7f94601efec7dd871dc881d766085da Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Thu, 1 Aug 2024 15:01:11 -0700 Subject: [PATCH 13/31] Updated ReadOption functions to work with new FormattedString function. --- src/control.c | 3 +- src/options.c | 98 +++++++++++++++++++++++++++------------------------ src/vplanet.c | 2 +- 3 files changed, 55 insertions(+), 48 deletions(-) diff --git a/src/control.c b/src/control.c index df9eac81b..7ae552c3a 100644 --- a/src/control.c +++ b/src/control.c @@ -242,8 +242,9 @@ void WriteDescription(char cLongDescr[], char cDescr[], int iMaxChars) { int bFoo; int iCharsLeft, iWord, iLineWord, iLine, iNumWords, iLineWordNow, iChar; char cDescription[MAXARRAY][OPTLEN]; - char cLine[MAXARRAY][OPTLEN]; + char **cLine; + cLine = malloc(MAXARRAY * sizeof(char*)); for (iLineWordNow = 0; iLineWordNow < MAXARRAY; iLineWordNow++) { memset(cLine[iLineWordNow], '\0', OPTLEN); memset(cDescription[iLineWordNow], '\0', OPTLEN); diff --git a/src/options.c b/src/options.c index 52c3adac1..03a7a3ff9 100644 --- a/src/options.c +++ b/src/options.c @@ -48,18 +48,19 @@ int CheckComment(char cLine[], int iLen) { return 0; } -void GetLine(char cFile[], char cOption[], char cLine[], int *iLine, +void GetLine(char *cFile, char *cOption, char **cLine, int *iLine, int iVerbose) { int iLen, bDone = 0, iLineTmp = 0; - char *cWord, *cTmp; + char cWord[LINE], cTmp[LINE]; FILE *fp; + *cLine=NULL; + iLen = strlen(cOption); fp = fopen(cFile, "r"); - memset(cLine, '\0', LINE); - // memset(cTmp, '\0', LINE); - // memset(cWord, '\0', OPTLEN); + memset(cTmp, '\0', LINE); + memset(cWord, '\0', OPTLEN); while (fgets(cTmp, LINE, fp) != NULL) { if (!CheckComment(cTmp, LINE)) { @@ -75,18 +76,16 @@ void GetLine(char cFile[], char cOption[], char cLine[], int *iLine, iLineTmp + 1); exit(1); } - strcpy(cLine, cTmp); + fvFormattedString(cLine, cTmp); *iLine = iLineTmp; bDone = 1; } } iLineTmp++; - // memset(cTmp, '\0', LINE); - // memset(cWord, '\0', OPTLEN); + memset(cTmp, '\0', LINE); + memset(cWord, '\0', OPTLEN); } fclose(fp); - free(cWord); - free(cTmp); } /* If the previous line ended in $, must find the next valid line @@ -157,12 +156,12 @@ int GetPos(char cLine[]) { a trailing $, if so, it is an array that continues to the next line. */ -void GetWords(char cLine[], char cInput[MAXARRAY][OPTLEN], int *iNumWords, +void GetWords(char *cLine, char cInput[MAXARRAY][OPTLEN], int *iNumWords, int *bContinue) { int iPos, iPosStart, iWord; char cTmp[OPTLEN]; - if (strlen(cLine) == 0) { + if (cLine == NULL) { *iNumWords = 0; *bContinue = 0; return; @@ -249,14 +248,14 @@ double dNegativeDouble(OPTIONS options, char cFile[], int iVerbose) { not found, saInput is an array of empty strings, and iLine is unchanged. */ -void AddOptionStringArray(char cFile[], char cOption[], +void AddOptionStringArray(char *cFile, char *cOption, char saInput[MAXARRAY][OPTLEN], int *iNumIndices, int *iNumLines, int *iLine, int iVerbose) { - char cLine[LINE], cTmp[MAXARRAY][OPTLEN]; + char *cLine, cTmp[MAXARRAY][OPTLEN]; int iPos, iWord, bContinue, iNumWords; FILE *fp; - memset(cLine, '\0', LINE); + //memset(cLine, '\0', LINE); /* iLine=malloc(MAXLINES*sizeof(int)); */ @@ -272,7 +271,7 @@ void AddOptionStringArray(char cFile[], char cOption[], memset(cTmp[iPos], '\0', OPTLEN); } - GetLine(cFile, cOption, cLine, &iLine[0], iVerbose); + GetLine(cFile, cOption, &cLine, &iLine[0], iVerbose); GetWords(cLine, cTmp, &iNumWords, &bContinue); *iNumLines = 1; @@ -311,13 +310,14 @@ void AddOptionStringArray(char cFile[], char cOption[], } } } -} + free(cLine); + } /* Get all fields in a double array. The fields are stored in daInput, and the lines which were read are in iNumLines. If a parameter is not found, daInput is empty, and iLine is unchanged. */ -void AddOptionDoubleArray(char cFile[], char cOption[], double *daInput, +void AddOptionDoubleArray(char *cFile, char *cOption, double *daInput, int *iNumIndices, int *iNumLines, int *iLine, int iVerbose) { int iIndex; @@ -330,31 +330,32 @@ void AddOptionDoubleArray(char cFile[], char cOption[], double *daInput, } } -void AddOptionDouble(char cFile[], char cOption[], double *dInput, int *iLine, +void AddOptionDouble(char *cFile, char *cOption, double *dInput, int *iLine, int iVerbose) { - char cTmp[OPTLEN], cLine[LINE]; + char cTmp[OPTLEN], *cLine; - GetLine(cFile, cOption, cLine, iLine, iVerbose); + GetLine(cFile, cOption, &cLine, iLine, iVerbose); if (*iLine >= 0) { sscanf(cLine, "%s %lf", cTmp, dInput); } } -void AddOptionInt(char cFile[], char cOption[], int *iInput, int *iLine, +void AddOptionInt(char *cFile, char *cOption, int *iInput, int *iLine, int iVerbose) { - char cTmp[OPTLEN], cLine[LINE]; + char cTmp[OPTLEN], *cLine; - GetLine(cFile, cOption, cLine, iLine, iVerbose); + GetLine(cFile, cOption, &cLine, iLine, iVerbose); if (*iLine >= 0) { sscanf(cLine, "%s %d", cTmp, iInput); } + free(cLine); } -void AddOptionBool(char cFile[], char cOption[], int *iInput, int *iLine, +void AddOptionBool(char *cFile, char *cOption, int *iInput, int *iLine, int iVerbose) { AddOptionInt(cFile, cOption, iInput, iLine, iVerbose); - if (*iLine == -1) { // PED 4/9/15 + if (*iLine == -1) { return; } if (*iInput == 0 || *iInput == 1) { @@ -367,15 +368,17 @@ void AddOptionBool(char cFile[], char cOption[], int *iInput, int *iLine, } } -void AddOptionString(char cFile[], char cOption[], char cInput[], int *iLine, +void AddOptionString(char *cFile, char *cOption, char cInput[], int *iLine, int iVerbose) { - char cTmp[OPTLEN], cLine[LINE]; + char cTmp[OPTLEN], *cLine; - memset(cLine, '\0', LINE); memset(cTmp, '\0', OPTLEN); - GetLine(cFile, cOption, cLine, iLine, iVerbose); - sscanf(cLine, "%s %s", cTmp, cInput); + GetLine(cFile, cOption, &cLine, iLine, iVerbose); + if (*iLine >= 0) { + sscanf(cLine, "%s %s", cTmp, cInput); + } + free(cLine); } /* Looks like this was deprecated somewhere RB 01/02/24 @@ -436,7 +439,7 @@ int GetNumOut(char cFile[], char cName[], int iLen, int *iLineNum, int iExit) { } */ -int iGetNumLines(char cFile[]) { +int iGetNumLines(char *cFile) { int iNumLines = 0, iChar, bFileOK = 1; int bComment, bReturn; FILE *fp; @@ -581,7 +584,7 @@ void CheckDuplication(FILES *files, OPTIONS *options, char cFile[], int iLine, if (options->bMultiFile) { fprintf(stderr, - "ERROR: CheckDuplication called, but options. bMultiFile = %d\n", + "ERROR: CheckDuplication called, but options.bMultiFile = %d\n", options->bMultiFile); exit(EXIT_INPUT); } @@ -1108,6 +1111,7 @@ void ReadSystemName(CONTROL *control, FILES *files, OPTIONS *options, int lTmp = -1; char cTmp[OPTLEN]; + system->cName = NULL; AddOptionString(files->Infile[iFile].cIn, options->cName, cTmp, &lTmp, control->Io.iVerbose); if (lTmp >= 0) { @@ -1166,9 +1170,9 @@ void ReadBodyFileNames(CONTROL *control, FILES *files, OPTIONS *options, control->Evolve.iNumBodies = iNumIndices; files->Outfile = malloc(iNumIndices * sizeof(OUTFILE)); - for (iIndex = 0; iIndex < iNumIndices; iIndex++) { - memset(files->Outfile[iIndex].cOut, '\0', NAMELEN); - } + // for (iIndex = 0; iIndex < iNumIndices; iIndex++) { + // memset(files->Outfile[iIndex].cOut, '\0', NAMELEN); + // } UpdateFoundOptionMulti(&files->Infile[0], options, lTmp, iNumLines, 0); @@ -1187,6 +1191,7 @@ void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, int iFile, iBody, iModule; INFILE input; + input.cIn = NULL; fvFormattedString(&input.cIn, infile); /* Initialize primary input file */ InitializeInput(&input); @@ -2657,11 +2662,12 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 1, iNumGrid = 0; int k, iOut = -1, *lTmp, iCol, jCol; - char saTmp[MAXARRAY][OPTLEN], cTmp[OPTLEN], *cOption[MAXARRAY], + char saTmp[MAXARRAY][OPTLEN], *cTmp=NULL, **cOption, *cOut; int iLen1, iLen2; lTmp = malloc(MAXLINES * sizeof(int)); + cOption = malloc(MAXARRAY*sizeof(char*)); AddOptionStringArray(files->Infile[iFile].cIn, options[OPT_OUTPUTORDER].cName, saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, @@ -2699,14 +2705,14 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, /* Check for ambiguity */ for (i = 0; i < iNumIndices; i++) { count = 0; /* Number of possibilities */ - for (j = 0; j < OPTLEN; j++) { - cTmp[j] = 0; - } + // for (j = 0; j < OPTLEN; j++) { + // cTmp[j] = 0; + // } fvFormattedString(&cTmp, saTmp[i]); for (j = 0; j < MODULEOUTEND; j++) { - for (k = 0; k < OPTLEN; k++) { - cOut[k] = 0; - } + // for (k = 0; k < OPTLEN; k++) { + // cOut[k] = 0; + // } fvFormattedString(&cOut, output[j].cName); iLen1 = strlen(cOut); iLen2 = strlen(cTmp); @@ -2789,7 +2795,7 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, output[iOut].bDoNeg[iFile - 1] = 0; } if (output[iOut].bGrid == 0 || output[iOut].bGrid == 2) { - memset(files->Outfile[iFile - 1].caCol[i], '\0', OPTLEN); + //memset(files->Outfile[iFile - 1].caCol[i], '\0', OPTLEN); fvFormattedString(&files->Outfile[iFile - 1].caCol[i], output[iOut].cName); } else { memset(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], '\0', OPTLEN); @@ -2862,11 +2868,11 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 0, iNumGrid = 0; int k, iOut = -1, *lTmp; - char saTmp[MAXARRAY][OPTLEN], *cTmp, cOption[MAXARRAY][OPTLEN], - cOut[OPTLEN]; + char saTmp[MAXARRAY][OPTLEN], *cTmp, **cOption, *cOut; int iLen1, iLen2; lTmp = malloc(MAXLINES * sizeof(int)); + cOption = malloc(MAXARRAY*sizeof(char*)); AddOptionStringArray(files->Infile[iFile].cIn, options[OPT_GRIDOUTPUT].cName, saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, diff --git a/src/vplanet.c b/src/vplanet.c index c82888a9d..e486c9c25 100644 --- a/src/vplanet.c +++ b/src/vplanet.c @@ -60,7 +60,7 @@ int main_impl(int argc, char *argv[]) { MODULE module; FILES files; SYSTEM system; - char *infile; + char *infile = NULL; fnReadOption fnRead[MODULEOPTEND]; // XXX Pointers? fnWriteOutput fnWrite[MODULEOUTEND]; fnUpdateVariable ***fnUpdate; From 31e2e2482b0522ccea72c2507ff8d6d0e50d6d6f Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 2 Aug 2024 17:04:38 -0700 Subject: [PATCH 14/31] More updates to string formatting. --- src/atmesc.c | 142 +++++++++++++++++++++---------------------- src/atmesc.h | 24 ++++---- src/binary.c | 68 ++++++++++----------- src/binary.h | 34 +++++------ src/control.c | 122 ++++++++++++++++++++----------------- src/control.h | 30 +++++----- src/distorb.c | 50 ++++++++-------- src/distorb.h | 32 +++++----- src/distrot.c | 52 ++++++++-------- src/distrot.h | 26 ++++---- src/eqtide.c | 132 ++++++++++++++++++++-------------------- src/eqtide.h | 68 ++++++++++----------- src/flare.c | 62 +++++++++---------- src/flare.h | 30 +++++----- src/galhabit.c | 38 ++++++------ src/galhabit.h | 26 ++++---- src/magmoc.c | 88 +++++++++++++-------------- src/magmoc.h | 46 +++++++------- src/output.c | 159 +++++++++++++++++++++++++------------------------ src/output.h | 9 +-- src/poise.c | 118 ++++++++++++++++++------------------ src/poise.h | 34 +++++------ src/radheat.c | 144 ++++++++++++++++++++++---------------------- src/radheat.h | 124 +++++++++++++++++++------------------- src/spinbody.c | 16 ++--- src/spinbody.h | 16 ++--- src/stellar.c | 12 ++-- src/stellar.h | 12 ++-- src/thermint.c | 128 +++++++++++++++++++-------------------- src/thermint.h | 128 +++++++++++++++++++-------------------- src/vplanet.h | 2 +- 31 files changed, 994 insertions(+), 978 deletions(-) diff --git a/src/atmesc.c b/src/atmesc.c index fc8372192..8c8e709d4 100644 --- a/src/atmesc.c +++ b/src/atmesc.c @@ -2643,12 +2643,12 @@ Logs the surface water mass. */ void WriteSurfaceWaterMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dSurfaceWaterMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2670,9 +2670,9 @@ Logs the H escape regime */ void WriteHEscapeRegime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].iHEscapeRegime; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /** @@ -2690,13 +2690,13 @@ Logs the atmospheric oxygen mass. */ void WriteOxygenMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dOxygenMass; if (output->bDoNeg[iBody]) { *dTmp *= 1.e-5 * ((BIGG * body[iBody].dMass) / (4. * PI * pow(body[iBody].dRadius, 4))); - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2718,10 +2718,10 @@ Logs Ktide, the gravitational enhancement of mass loss. */ void WriteKTide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dKTide; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /** @@ -2739,13 +2739,13 @@ Logs the mantle oxygen mass. */ void WriteOxygenMantleMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dOxygenMantleMass; if (output->bDoNeg[iBody]) { *dTmp *= 1.e-5 * ((BIGG * body[iBody].dMass) / (4. * PI * pow(body[iBody].dRadius, 4))); - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2767,12 +2767,12 @@ Logs the planet radius. */ void WritePlanetRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2794,12 +2794,12 @@ Logs the envelope mass. */ void WriteEnvelopeMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dEnvelopeMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2821,7 +2821,7 @@ Logs the semi-major axis corresponding to the current runaway greenhouse limit. */ void WriteRGLimit(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { // Get the RG flux double flux = fdHZRG14(body, iBody); @@ -2838,7 +2838,7 @@ void WriteRGLimit(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2860,10 +2860,10 @@ Logs the oxygen mixing ratio at the base of the hydrodynamic wind. */ void WriteOxygenMixingRatio(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fdAtomicOxygenMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /** @@ -2881,9 +2881,9 @@ Logs the oxygen eta parameter from Luger and Barnes (2015). */ void WriteOxygenEta(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dOxygenEta; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /** @@ -2901,9 +2901,9 @@ Logs the XUV absorption efficiency for water. */ void WriteAtmXAbsEffH2O(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dAtmXAbsEffH2O; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /** @@ -2921,12 +2921,12 @@ Logs the planet's radius in the XUV. */ void WritePlanetRadXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dRadXUV; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2950,17 +2950,17 @@ Logs the atmospheric mass loss rate. */ void WriteDEnvMassDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = *(update[iBody].pdDEnvelopeMassDtAtmesc); //*dTmp = fnUpdate[iBody][update[iBody].iEnvelopeMass][0]; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { //*dTmp *= fdUnitsTime(units->iTime)/fdUnitsMass(units->iMass); - fvFormattedString(&cUnit, "kg/s"); // XXX Why isn't the other line commented out??? + fvFormattedString(cUnit, "kg/s"); // XXX Why isn't the other line commented out??? } } @@ -2979,12 +2979,12 @@ Logs the thermospheric temperature. */ void WriteThermTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dThermTemp; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { // System units are Kelvins *dTmp = fdUnitsTemp(*dTmp, U_KELVIN, units->iTemp); @@ -3007,12 +3007,12 @@ Logs the temperature of the flow. */ void WriteFlowTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlowTemp; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { // System units are Kelvins *dTmp = fdUnitsTemp(*dTmp, U_KELVIN, units->iTemp); @@ -3035,14 +3035,14 @@ Logs the surface pressure. */ void WritePresSurf(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dPresSurf; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { - fvFormattedString(&cUnit, "Pa"); + fvFormattedString(cUnit, "Pa"); // XXX } } @@ -3061,12 +3061,12 @@ Logs the pressure at the XUV absorption radius. */ void WritePresXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dPresXUV; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { //*dTmp /= fdUnitsPressure(units->iLength); // fsUnitsLength(units->iLength,cUnit); @@ -3088,12 +3088,12 @@ Logs the time at which the flow transitioned to Jeans escape. */ void WriteJeansTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dJeansTime; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -3115,12 +3115,12 @@ Logs the atmospheric scale height. */ void WriteScaleHeight(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dScaleHeight; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3142,12 +3142,12 @@ Logs the gas constant. */ void WriteAtmGasConst(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dAtmGasConst; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3167,12 +3167,12 @@ Logs the planet's solid radius. */ void WriteRadSolid(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dRadSolid; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3194,12 +3194,12 @@ Logs the planet's Roche radius. */ void WriteRocheRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dRocheRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3222,12 +3222,12 @@ Logs the planet's Bondi radius. */ void WriteBondiRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dBondiRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3249,14 +3249,14 @@ Logs the XUV flux received by the planet. */ void WriteFXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFXUV; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { - fvFormattedString(&cUnit, "W/m^2"); + fvFormattedString(cUnit, "W/m^2"); } } @@ -3276,16 +3276,16 @@ and energy-limited H envelope escape regimes */ void WriteRRCriticalFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { // Calculate critical flux for body *dTmp = fdRRCriticalFlux(body, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { - fvFormattedString(&cUnit, "W/m^2"); + fvFormattedString(cUnit, "W/m^2"); } } @@ -3304,12 +3304,12 @@ Logs the crossover mass. */ void WriteCrossoverMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCrossoverMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -3331,9 +3331,9 @@ Logs the Water escape regime */ void WriteWaterEscapeRegime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].iWaterEscapeRegime; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } @@ -3352,7 +3352,7 @@ Logs the XUV flux received by the planet. */ void WriteFXUVCRITDRAG(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double BDIFF = 4.8e19 * pow(body[iBody].dFlowTemp, 0.75); double XO = fdAtomicOxygenMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); @@ -3369,9 +3369,9 @@ void WriteFXUVCRITDRAG(BODY *body, CONTROL *control, OUTPUT *output, } if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { - fvFormattedString(&cUnit, "W/m^2"); + fvFormattedString(cUnit, "W/m^2"); // XXX } } @@ -3390,9 +3390,9 @@ Logs the Hydrogen Reference Flux */ void WriteHREFFLUX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFHRef; - fvFormattedString(&cUnit, "m^-2 s^-1"); + fvFormattedString(cUnit, "m^-2 s^-1"); // XXX } /** @@ -3411,9 +3411,9 @@ limited regime) */ void WriteHDiffLimFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dFHDiffLim; - fvFormattedString(&cUnit, "m^-2 s^-1"); + fvFormattedString(cUnit, "m^-2 s^-1"); // XXX } /** @@ -3431,7 +3431,7 @@ Modifier for H Ref Flux to include oxygen drag at a snapshot in time */ void WriteHRefODragMod(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].dCrossoverMass / ATOMMASS - 1. != 0) { double rat = (body[iBody].dCrossoverMass / ATOMMASS - QOH) / (body[iBody].dCrossoverMass / ATOMMASS - 1.); @@ -3441,7 +3441,7 @@ void WriteHRefODragMod(BODY *body, CONTROL *control, OUTPUT *output, } else { *dTmp = -1; } - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } @@ -3460,10 +3460,10 @@ Logs the molecular oxygen mixing ratio. */ void WriteMolecOxygenMixingRatio(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fdMolecOxygenMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /** @@ -3481,10 +3481,10 @@ Logs the water mixing ratio. */ void WriteWaterAtmMixingRatio(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fdWaterAtmMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /** diff --git a/src/atmesc.h b/src/atmesc.h index 629cb236c..bb4392110 100644 --- a/src/atmesc.h +++ b/src/atmesc.h @@ -177,29 +177,29 @@ void InitializeOutputFunctionAtmEsc(OUTPUT *, int, int); void FinalizeOutputFunctionAtmEsc(OUTPUT *, int, int); void WriteSurfaceWaterMass(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteOxygenMass(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteOxygenMantleMass(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteEnvelopeMass(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteRGLimit(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteBondiRadius(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteRocheRadius(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteOxygenMixingRatio(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteOxygenEta(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteAtmXAbsEffH2O(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteRRCriticalFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteHEscapeRegime(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); /* Logging Functions */ void LogOptionsAtmEsc(CONTROL *, FILE *); diff --git a/src/binary.c b/src/binary.c index 8847b41a8..af19513c3 100644 --- a/src/binary.c +++ b/src/binary.c @@ -1018,7 +1018,7 @@ void VerifyHaltBinary(BODY *body, CONTROL *control, OPTIONS *options, int iBody, void WriteFreeEccBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Note: Only makes sense for planets (iBodyType == 0) if (body[iBody].iBodyType == 0) { *dTmp = body[iBody].dFreeEcc; @@ -1026,12 +1026,12 @@ void WriteFreeEccBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = -1; } - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteFreeIncBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Note: Only makes sense for planets (iBodyType == 0) if (body[iBody].iBodyType == 0) { *dTmp = body[iBody].dFreeInc; @@ -1041,7 +1041,7 @@ void WriteFreeIncBinary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1051,7 +1051,7 @@ void WriteFreeIncBinary(BODY *body, CONTROL *control, OUTPUT *output, /** Write the binary primary star radial position */ void WriteBinPriRBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Compute current binary true anomaly double meanAnomaly = body[1].dMeanMotion * body[0].dAge + body[1].dLL13PhiAB; @@ -1069,7 +1069,7 @@ void WriteBinPriRBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[1].dMass * radius * dInvMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1079,7 +1079,7 @@ void WriteBinPriRBinary(BODY *body, CONTROL *control, OUTPUT *output, /** Write the binary secondary star radial position */ void WriteBinSecRBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Compute current binary true anomaly double meanAnomaly = body[1].dMeanMotion * body[1].dAge + body[1].dLL13PhiAB; @@ -1097,7 +1097,7 @@ void WriteBinSecRBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[0].dMass * radius * dInvMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1107,7 +1107,7 @@ void WriteBinSecRBinary(BODY *body, CONTROL *control, OUTPUT *output, void WriteBinPriPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { // Compute current binary true anomaly double meanAnomaly = body[1].dMeanMotion * body[0].dAge + body[1].dLL13PhiAB; @@ -1117,7 +1117,7 @@ void WriteBinPriPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fndEccToTrue(eccAnomaly, body[1].dEcc); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1127,7 +1127,7 @@ void WriteBinPriPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, void WriteBinSecPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { // Compute current binary true anomaly double meanAnomaly = body[1].dMeanMotion * body[1].dAge + body[1].dLL13PhiAB; @@ -1138,7 +1138,7 @@ void WriteBinSecPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fndEccToTrue(eccAnomaly, body[1].dEcc) + PI; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1148,7 +1148,7 @@ void WriteBinSecPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, void WriteCBPPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iBodyType == 0) { *dTmp = body[iBody].dCBPPhi; } else { @@ -1157,7 +1157,7 @@ void WriteCBPPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1166,12 +1166,12 @@ void WriteCBPPhiBinary(BODY *body, CONTROL *control, OUTPUT *output, void WriteCBPPhiDotBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dCBPPhiDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1180,7 +1180,7 @@ void WriteCBPPhiDotBinary(BODY *body, CONTROL *control, OUTPUT *output, void WriteLL13N0Binary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Note: Only applies to planets (iBodyType == 0) if (body[iBody].iBodyType == 0) { *dTmp = body[iBody].dLL13N0; @@ -1190,7 +1190,7 @@ void WriteLL13N0Binary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1200,7 +1200,7 @@ void WriteLL13N0Binary(BODY *body, CONTROL *control, OUTPUT *output, void WriteLL13K0Binary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Note: Only applies to planets (iBodyType == 0) if (body[iBody].iBodyType == 0) { *dTmp = body[iBody].dLL13K0; @@ -1210,7 +1210,7 @@ void WriteLL13K0Binary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1219,7 +1219,7 @@ void WriteLL13K0Binary(BODY *body, CONTROL *control, OUTPUT *output, void WriteLL13V0Binary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Note: Only applies to planets (iBodyType == 0) if (body[iBody].iBodyType == 0) { *dTmp = body[iBody].dLL13V0; @@ -1229,7 +1229,7 @@ void WriteLL13V0Binary(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1239,12 +1239,12 @@ void WriteLL13V0Binary(BODY *body, CONTROL *control, OUTPUT *output, /** Write the circumbinary planet orbital radius (CBPR) */ void WriteCBPRBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCBPR; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1254,12 +1254,12 @@ void WriteCBPRBinary(BODY *body, CONTROL *control, OUTPUT *output, /** Write the circumbinary planet guiding radius (CBPR0) */ void WriteCBPR0Binary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dR0; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1268,12 +1268,12 @@ void WriteCBPR0Binary(BODY *body, CONTROL *control, OUTPUT *output, void WriteCBPZBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCBPZ; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1282,12 +1282,12 @@ void WriteCBPZBinary(BODY *body, CONTROL *control, OUTPUT *output, void WriteCBPRDotBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCBPRDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsVel(units, cUnit); @@ -1296,12 +1296,12 @@ void WriteCBPRDotBinary(BODY *body, CONTROL *control, OUTPUT *output, void WriteCBPZDotBinary(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCBPZDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsVel(units, cUnit); @@ -1312,7 +1312,7 @@ void WriteCBPZDotBinary(BODY *body, CONTROL *control, OUTPUT *output, orbit assuming P_bin << P_cbp */ void WriteCBPInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { // Make sure that this is a planet, if not, -1 if (iBody < 2 || body[iBody].iBodyType != 0) { @@ -1322,7 +1322,7 @@ void WriteCBPInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } // Always in units of insolation received by Earth - fvFormattedString(&cUnit, "F/F_Earth"); + fvFormattedString(cUnit, "F/F_Earth"); } void InitializeOutputBinary(OUTPUT *output, fnWriteOutput fnWrite[]) { diff --git a/src/binary.h b/src/binary.h index 68b6483fe..c2a595960 100644 --- a/src/binary.h +++ b/src/binary.h @@ -122,39 +122,39 @@ void InitializeOutputFunctionBinary(OUTPUT *, int, int); void InitializeOutputBinary(OUTPUT *, fnWriteOutput[]); void FinalizeOutputFunctionBinary(OUTPUT *, int, int); void WriteFreeEccBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteFreeIncBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteLL13N0Binary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteLL13K0Binary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteLL13V0Binary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteCBPRBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteCBPR0Binary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBinPriRBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBinPriPhiBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBinSecRBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBinSecPhiBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteCBPZBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteCBPZDotBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteCBPPhiBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteCBPRDotBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteCBPPhiDotBinary(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteCBPInsol(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); /* Logging Functions */ void LogOptionsBinary(CONTROL *, FILE *); diff --git a/src/control.c b/src/control.c index 7ae552c3a..d4dc71098 100644 --- a/src/control.c +++ b/src/control.c @@ -866,21 +866,21 @@ double fdUnitsLength(int iType) { } } -void fsUnitsLength(int iType, char cUnit[]) { +void fsUnitsLength(int iType, char **cUnit) { if (iType == U_METER) { - fvFormattedString(&cUnit, "m"); + fvFormattedString(cUnit, "m"); } else if (iType == U_CENTIMETER) { - fvFormattedString(&cUnit, "cm"); + fvFormattedString(cUnit, "cm"); } else if (iType == U_KILOMETER) { - fvFormattedString(&cUnit, "km"); + fvFormattedString(cUnit, "km"); } else if (iType == U_SOLARRADIUS) { - fvFormattedString(&cUnit, "Rsun"); + fvFormattedString(cUnit, "Rsun"); } else if (iType == U_EARTHRADIUS) { - fvFormattedString(&cUnit, "Rearth"); + fvFormattedString(cUnit, "Rearth"); } else if (iType == U_JUPRADIUS) { - fvFormattedString(&cUnit, "Rjupiter"); + fvFormattedString(cUnit, "Rjupiter"); } else if (iType == U_AU) { - fvFormattedString(&cUnit, "au"); + fvFormattedString(cUnit, "au"); } else { fprintf(stderr, "ERROR: Unknown iUnitLength %d.\n", iType); exit(EXIT_UNITS); @@ -905,17 +905,17 @@ double fdUnitsTime(int iType) { } } -void fsUnitsTime(int iType, char cUnit[]) { +void fsUnitsTime(int iType, char **cUnit) { if (iType == U_SECOND) { - fvFormattedString(&cUnit, "sec"); + fvFormattedString(cUnit, "sec"); } else if (iType == U_DAY) { - fvFormattedString(&cUnit, "day"); + fvFormattedString(cUnit, "day"); } else if (iType == U_YEAR) { - fvFormattedString(&cUnit, "year"); + fvFormattedString(cUnit, "year"); } else if (iType == U_MYR) { - fvFormattedString(&cUnit, "Myr"); + fvFormattedString(cUnit, "Myr"); } else if (iType == U_GYR) { - fvFormattedString(&cUnit, "Gyr"); + fvFormattedString(cUnit, "Gyr"); } else { fprintf(stderr, "ERROR: Unknown iUnitTime: %d.\n", iType); exit(EXIT_UNITS); @@ -941,19 +941,19 @@ double fdUnitsMass(int iType) { } } -void fsUnitsMass(int iType, char cUnit[]) { +void fsUnitsMass(int iType, char **cUnit) { if (iType == U_KILOGRAM) { - fvFormattedString(&cUnit, "kg"); + fvFormattedString(cUnit, "kg"); } else if (iType == U_GRAM) { - fvFormattedString(&cUnit, "gm"); + fvFormattedString(cUnit, "gm"); } else if (iType == U_SOLARMASS) { - fvFormattedString(&cUnit, "Msun"); + fvFormattedString(cUnit, "Msun"); } else if (iType == U_EARTHMASS) { - fvFormattedString(&cUnit, "Mearth"); + fvFormattedString(cUnit, "Mearth"); } else if (iType == U_JUPITERMASS) { - fvFormattedString(&cUnit, "Mjupiter"); + fvFormattedString(cUnit, "Mjupiter"); } else if (iType == U_NEPTUNEMASS) { - fvFormattedString(&cUnit, "Mneptune"); + fvFormattedString(cUnit, "Mneptune"); } else { fprintf(stderr, "ERROR: Unknown iUnitMass: %d.\n", iType); @@ -972,39 +972,51 @@ double fdUnitsAngle(int iType) { } } -void fsUnitsAngle(int iType, char cUnit[]) { +void fsUnitsAngle(int iType, char **cUnit) { if (iType == U_RADIANS) { - fvFormattedString(&cUnit, "rad"); + fvFormattedString(cUnit, "rad"); } else if (iType == U_DEGREES) { - fvFormattedString(&cUnit, "deg"); + fvFormattedString(cUnit, "deg"); } else { fprintf(stderr, "ERROR: Unknown Angle type %d\n.", iType); exit(EXIT_UNITS); } } -void fsUnitsViscosity(UNITS *units, char cUnit[]) { - char cTmp[OUTLEN]; - - fsUnitsLength(units->iLength, cUnit); - strcat(cUnit, "^2/"); - fsUnitsTime(units->iTime, cTmp); - strcat(cUnit, cTmp); +void fsUnitsViscosity(UNITS *units, char **cUnit) { + char *cUnitLength=NULL,*cUnitTime=NULL; + + fsUnitsLength(units->iLength, &cUnitLength); + fsUnitsTime(units->iTime, &cUnitTime); + // strcat(cUnit, "^2/"); + // fsUnitsTime(units->iTime, cTmp); + // strcat(cUnit, cTmp); + fvFormattedString(cUnit,cUnitLength,"^2/",cUnitTime); + free(cUnitLength); + free(cUnitTime); } -void fsUnitsAngMom(UNITS *units, char cUnit[]) { - char cTmp[OPTLEN]; +void fsUnitsAngMom(UNITS *units, char **cUnit) { + char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + + fsUnitsMass(units->iMass, &cUnitMass); + fsUnitsLength(units->iLength, &cUnitLength); + fsUnitsTime(units->iTime, &cUnitTime); + // fsUnitsMass(units->iMass, cUnit); + // fsUnitsLength(units->iLength, cTmp); + // strcat(cUnit, "*"); + // strcat(cUnit, cTmp); + // strcat(cUnit, "^2/"); + // fsUnitsTime(units->iTime, cTmp); + // strcat(cUnit, cTmp); + fvFormattedString(cUnit,cUnitMass,"*",cUnitLength,"^2/",cUnitTime); + free(cUnitMass); + free(cUnitLength); + free(cUnitTime); - fsUnitsMass(units->iMass, cUnit); - fsUnitsLength(units->iLength, cTmp); - strcat(cUnit, "*"); - strcat(cUnit, cTmp); - strcat(cUnit, "^2/"); - fsUnitsTime(units->iTime, cTmp); - strcat(cUnit, cTmp); } -void fsUnitsDensity(UNITS *units, char cUnit[]) { +void fsUnitsDensity(UNITS *units, char **cUnit) { char cTmp[OPTLEN]; fsUnitsMass(units->iMass, cUnit); @@ -1014,7 +1026,7 @@ void fsUnitsDensity(UNITS *units, char cUnit[]) { strcat(cUnit, "^3"); } -void fsUnitsVel(UNITS *units, char cUnit[]) { +void fsUnitsVel(UNITS *units, char **cUnit) { char cTmp[OPTLEN]; fsUnitsLength(units->iLength, cUnit); @@ -1023,7 +1035,7 @@ void fsUnitsVel(UNITS *units, char cUnit[]) { strcat(cUnit, cTmp); } -void fsUnitsRate(int iType, char cUnit[]) { +void fsUnitsRate(int iType, char **cUnit) { char cTmp[OPTLEN]; fvFormattedString(&cUnit, "/"); @@ -1036,7 +1048,7 @@ void fsUnitsRate(int iType, char cUnit[]) { }*/ -void fsUnitsAngRate(UNITS *units, char cUnit[]) { +void fsUnitsAngRate(UNITS *units, char **cUnit) { char cTmp[OPTLEN]; fsUnitsAngle(units->iAngle, cUnit); @@ -1045,7 +1057,7 @@ void fsUnitsAngRate(UNITS *units, char cUnit[]) { strcat(cUnit, cTmp); } -void fsUnitsEnergy(UNITS *units, char cUnit[]) { +void fsUnitsEnergy(UNITS *units, char **cUnit) { char cTmp[OPTLEN]; fsUnitsMass(units->iMass, cUnit); @@ -1064,7 +1076,7 @@ double fdUnitsEnergy(int iTime, int iMass, int iLength) { return dConversion; } -void fsUnitsPower(UNITS *units, char cUnit[]) { +void fsUnitsPower(UNITS *units, char **cUnit) { char cTmp[OPTLEN]; fsUnitsMass(units->iMass, cUnit); @@ -1082,7 +1094,7 @@ double fdUnitsPower(int iTime, int iMass, int iLength) { (fdUnitsTime(iTime) * fdUnitsTime(iTime) * fdUnitsTime(iTime)); } -void fsUnitsEnergyFlux(UNITS *units, char cUnit[]) { +void fsUnitsEnergyFlux(UNITS *units, char **cUnit) { char cTmp[OPTLEN]; fsUnitsEnergy(units, cUnit); @@ -1148,13 +1160,13 @@ double fdUnitsTemp(double dTemp, int iOldType, int iNewType) { } } -void fsUnitsTemp(int iType, char cUnit[]) { +void fsUnitsTemp(int iType, char **cUnit) { if (iType == U_KELVIN) { - fvFormattedString(&cUnit, "K"); + fvFormattedString(cUnit, "K"); } else if (iType == U_CELSIUS) { - fvFormattedString(&cUnit, "Celsius"); + fvFormattedString(cUnit, "Celsius"); } else if (iType == U_FARENHEIT) { - fvFormattedString(&cUnit, "F"); + fvFormattedString(cUnit, "F"); } else { fprintf(stderr, "ERROR: Unknown iUnitTemp %d.\n", iType); exit(EXIT_UNITS); @@ -1162,13 +1174,13 @@ void fsUnitsTemp(int iType, char cUnit[]) { } // XXX This looks fishy. Should time also be checked here -void fsUnitsTempRate(int iType, char cUnit[]) { +void fsUnitsTempRate(int iType, char **cUnit) { if (iType == U_KELVIN) { - fvFormattedString(&cUnit, "K/s"); + fvFormattedString(cUnit, "K/s"); } else if (iType == U_CELSIUS) { - fvFormattedString(&cUnit, "C/s"); + fvFormattedString(cUnit, "C/s"); } else if (iType == U_FARENHEIT) { - fvFormattedString(&cUnit, "F/s"); + fvFormattedString(cUnit, "F/s"); } else { fprintf(stderr, "ERROR: Unknown iUnitTempRate %d.\n", iType); exit(EXIT_UNITS); diff --git a/src/control.h b/src/control.h index a28887bd4..beb49f434 100644 --- a/src/control.h +++ b/src/control.h @@ -38,21 +38,21 @@ double fdUnitsEnergy(int, int, int); double fdUnitsEnergyFlux(int, int, int); // double fdUnitsRate(int); -void fsUnitsLength(int, char[]); -void fsUnitsTime(int, char[]); -void fsUnitsAngle(int, char[]); -void fsUnitsMass(int, char[]); -void fsUnitsTemp(int, char[]); -void fsUnitsTempRate(int, char[]); -void fsUnitsAngMom(UNITS *, char[]); -void fsUnitsDensity(UNITS *, char[]); -void fsUnitsVel(UNITS *, char[]); -void fsUnitsRate(int, char[]); -void fsUnitsAngRate(UNITS *, char[]); -void fsUnitsPower(UNITS *, char[]); -void fsUnitsEnergy(UNITS *, char[]); -void fsUnitsEnergyFlux(UNITS *, char[]); -void fsUnitsViscosity(UNITS *, char[]); +void fsUnitsLength(int, char**); +void fsUnitsTime(int, char**); +void fsUnitsAngle(int, char**); +void fsUnitsMass(int, char**); +void fsUnitsTemp(int, char**); +void fsUnitsTempRate(int, char**); +void fsUnitsAngMom(UNITS *, char**); +void fsUnitsDensity(UNITS *, char**); +void fsUnitsVel(UNITS *, char**); +void fsUnitsRate(int, char**); +void fsUnitsAngRate(UNITS *, char**); +void fsUnitsPower(UNITS *, char**); +void fsUnitsEnergy(UNITS *, char**); +void fsUnitsEnergyFlux(UNITS *, char**); +void fsUnitsViscosity(UNITS *, char**); void InfileCopy(INFILE *, INFILE *); diff --git a/src/distorb.c b/src/distorb.c index 7236ce00c..f2a8f22ff 100644 --- a/src/distorb.c +++ b/src/distorb.c @@ -1791,7 +1791,7 @@ void WriteEigen(CONTROL *control, SYSTEM *system) { void WriteBodyDEccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1809,7 +1809,7 @@ void WriteBodyDEccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1818,7 +1818,7 @@ void WriteBodyDEccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDSincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1842,7 +1842,7 @@ void WriteBodyDSincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1851,7 +1851,7 @@ void WriteBodyDSincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDLongPDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1869,7 +1869,7 @@ void WriteBodyDLongPDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1880,7 +1880,7 @@ void WriteBodyDLongPDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDLongADtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1904,7 +1904,7 @@ void WriteBodyDLongADtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1915,7 +1915,7 @@ void WriteBodyDLongADtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDIncDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1941,7 +1941,7 @@ void WriteBodyDIncDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1952,17 +1952,17 @@ void WriteBodyDIncDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodySinc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = sqrt(body[iBody].dPinc * body[iBody].dPinc + body[iBody].dQinc * body[iBody].dQinc); - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } /* void WriteBodyLongA(BODY *body,CONTROL *control,OUTPUT *output,SYSTEM -*system,UNITS *units,UPDATE *update,int iBody,double *dTmp,char cUnit[]) { if +*system,UNITS *units,UPDATE *update,int iBody,double *dTmp,char **cUnit) { if (body[iBody].bDistOrb) { *dTmp = atan2(body[iBody].dPinc, body[iBody].dQinc); } else if (body[iBody].bGalHabit) { *dTmp = body[iBody].dLongA; } @@ -1986,23 +1986,23 @@ else if (body[iBody].bGalHabit) { *dTmp = body[iBody].dLongA; void WriteBodyPinc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dPinc; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteBodyQinc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dQinc; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteBodyDHeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* need to put check for star's output options in verify */ double dDeriv; int iPert; @@ -2017,7 +2017,7 @@ void WriteBodyDHeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2026,7 +2026,7 @@ void WriteBodyDHeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDKeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* need to put check for star's output options in verify */ double dDeriv; int iPert; @@ -2041,7 +2041,7 @@ void WriteBodyDKeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2050,7 +2050,7 @@ void WriteBodyDKeccDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDPincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* need to put check for star's output options in verify */ double dDeriv; int iPert; @@ -2065,7 +2065,7 @@ void WriteBodyDPincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2074,7 +2074,7 @@ void WriteBodyDPincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDQincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* need to put check for star's output options in verify */ double dDeriv; int iPert; @@ -2089,7 +2089,7 @@ void WriteBodyDQincDtDistOrb(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); diff --git a/src/distorb.h b/src/distorb.h index 50c7acca8..8baae76e5 100644 --- a/src/distorb.h +++ b/src/distorb.h @@ -121,37 +121,37 @@ int fbCheckMutualIncDistorb(BODY *, EVOLVE *, HALT *, IO *, UPDATE *, int); void HelpOutputDistOrb(OUTPUT *); void WriteBodyDEccDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDSincDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDLongPDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDLongADtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDIncDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodySinc(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyLongP(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyArgP(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyHecc(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyKecc(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyPinc(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyQinc(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyDHeccDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDKeccDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDPincDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDQincDtDistOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void InitializeOutputDistOrb(OUTPUT *, fnWriteOutput[]); void WriteEigen(CONTROL *, SYSTEM *); diff --git a/src/distrot.c b/src/distrot.c index 9aa13b84e..d6f0e8c09 100644 --- a/src/distrot.c +++ b/src/distrot.c @@ -939,7 +939,7 @@ void VerifyHaltDistRot(BODY *body, CONTROL *control, OPTIONS *options, void WriteBodyDOblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv, dObldx, dObldy, dObldz; int iPert; @@ -980,7 +980,7 @@ void WriteBodyDOblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -991,7 +991,7 @@ void WriteBodyDOblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteOblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv, dObldx, dObldy, dObldz; int iPert; @@ -1036,7 +1036,7 @@ void WriteOblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1047,7 +1047,7 @@ void WriteOblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WritePrecATimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv, dpAdx, dpAdy; int iPert; @@ -1077,7 +1077,7 @@ void WritePrecATimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1088,7 +1088,7 @@ void WritePrecATimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDPrecADtDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv, dpAdx, dpAdy; int iPert; @@ -1114,7 +1114,7 @@ void WriteBodyDPrecADtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1125,7 +1125,7 @@ void WriteBodyDPrecADtDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDXoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1139,7 +1139,7 @@ void WriteBodyDXoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1148,7 +1148,7 @@ void WriteBodyDXoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDYoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1162,7 +1162,7 @@ void WriteBodyDYoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1171,7 +1171,7 @@ void WriteBodyDYoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDZoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1185,7 +1185,7 @@ void WriteBodyDZoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1194,7 +1194,7 @@ void WriteBodyDZoblDtDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteXoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1212,7 +1212,7 @@ void WriteXoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1221,7 +1221,7 @@ void WriteXoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteYoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1239,7 +1239,7 @@ void WriteYoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1248,7 +1248,7 @@ void WriteYoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteZoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -1266,7 +1266,7 @@ void WriteZoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1276,7 +1276,7 @@ void WriteZoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyCassOne(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double h, inc, longa, Lnorm = 0.0, obliq, eqnode; int i, jBody; @@ -1376,7 +1376,7 @@ void WriteBodyCassOne(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyCassTwo(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double h, inc, longa, Lnorm = 0.0, obliq, eqnode; int i, jBody; @@ -1479,24 +1479,24 @@ void WriteBodyCassTwo(BODY *body, CONTROL *control, OUTPUT *output, void WriteDynEllip(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (iBody > 0) { *dTmp = body[iBody].dDynEllip; } else { *dTmp = -1; } - fvFormattedString(&cUnit, "%s", ""); + fvFormattedString(cUnit, "%s", ""); } void WritePrecFNat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = fndCentralTorqueR(body, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); diff --git a/src/distrot.h b/src/distrot.h index 793a96053..cc2e9b879 100644 --- a/src/distrot.h +++ b/src/distrot.h @@ -77,31 +77,31 @@ void FinalizeUpdateZoblDistRot(BODY *, UPDATE *, int *, int, int, int); void HelpOutputDistRot(OUTPUT *); void WriteBodyDOblDtDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDPrecADtDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDXoblDtDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDYoblADtDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDZoblDtDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyXobl(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyYobl(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyZobl(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteOblTimeDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WritePrecATimeDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteXoblTimeDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteYoblTimeDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteZoblTimeDistRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void InitializeOutputDistRot(OUTPUT *, fnWriteOutput[]); diff --git a/src/eqtide.c b/src/eqtide.c index 4074b5d27..1a77c2f52 100644 --- a/src/eqtide.c +++ b/src/eqtide.c @@ -2273,7 +2273,7 @@ void VerifyHaltEqtide(BODY *body, CONTROL *control, OPTIONS *options, int iBody, void WriteBodyDsemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Broken int iPert; @@ -2306,7 +2306,7 @@ void WriteBodyDsemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyDeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Broken needs to be changed after switch to Hecc + Kecc int iPert; @@ -2337,11 +2337,11 @@ void WriteBodyDeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteLockTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dLockTime; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2350,12 +2350,12 @@ void WriteLockTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteTidalRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dTidalRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2364,7 +2364,7 @@ void WriteTidalRadius(BODY *body, CONTROL *control, OUTPUT *output, void WriteDOblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double dFoo; int iPert; @@ -2378,7 +2378,7 @@ void WriteDOblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsAngle(units->iAngle); fsUnitsAngRate(units, cUnit); @@ -2387,7 +2387,7 @@ void WriteDOblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteTidalQOcean(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Return -1 if dImK2Ocean is 0. There may be a better way to do this. */ if (body[iBody].dImK2Ocean > 0) { @@ -2396,12 +2396,12 @@ void WriteTidalQOcean(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = -1; } - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteTidalQEnv(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Return -1 if dImK2Env is 0. There may be a better way to do this. */ if (body[iBody].dImK2Env > 0) { @@ -2410,12 +2410,12 @@ void WriteTidalQEnv(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = -1; } - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteDSemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double dDeriv; /* Ensure that we don't overwrite pdDsemiDt */ @@ -2424,7 +2424,7 @@ void WriteDSemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsVel(units, cUnit); @@ -2433,13 +2433,13 @@ void WriteDSemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDEccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dDeccDtEqtide; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2448,7 +2448,7 @@ void WriteDEccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDMeanMotionDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1.5 * pow(BIGG * (body[0].dMass + body[iBody].dMass) / @@ -2458,7 +2458,7 @@ void WriteDMeanMotionDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsRate(units->iTime, cUnit); @@ -2468,7 +2468,7 @@ void WriteDMeanMotionDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDOrbPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = 1.5 * pow(4 * PI * PI * body[iBody].dSemi / @@ -2481,13 +2481,13 @@ void WriteDOrbPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, fvFormattedString(&cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); - fvFormattedString(&cUnit, "%s", ""); + fvFormattedString(cUnit, "%s", ""); } } void WriteDRotPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -2501,7 +2501,7 @@ void WriteDRotPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dDeriv * (-2 * PI / (body[iBody].dRotRate * body[iBody].dRotRate)); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { fvFormattedString(&cUnit, ""); } @@ -2509,7 +2509,7 @@ void WriteDRotPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDRotRateDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; @@ -2523,7 +2523,7 @@ void WriteDRotRateDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) * fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2533,7 +2533,7 @@ void WriteDRotRateDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDHeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double dDeriv; /* Ensure that we don't overwrite pdDsemiDt */ @@ -2542,7 +2542,7 @@ void WriteDHeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2551,7 +2551,7 @@ void WriteDHeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDKeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double dDeriv; /* Ensure that we don't overwrite pdDsemiDt */ @@ -2560,7 +2560,7 @@ void WriteDKeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2569,7 +2569,7 @@ void WriteDKeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDXoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double dDeriv = 0; int iPert; @@ -2582,7 +2582,7 @@ void WriteDXoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2591,7 +2591,7 @@ void WriteDXoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDYoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double dDeriv = 0; int iPert; @@ -2604,7 +2604,7 @@ void WriteDYoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2613,7 +2613,7 @@ void WriteDYoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteDZoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { double dDeriv = 0; int iPert; @@ -2626,7 +2626,7 @@ void WriteDZoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2639,7 +2639,7 @@ void WriteDZoblDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteEccTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv, dEcc; // Complicated because primary variable is h or k @@ -2656,7 +2656,7 @@ void WriteEccTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2665,7 +2665,7 @@ void WriteEccTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteEqRotPer(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { int iOrbiter = fiAssignTidalOrbiter(body, iBody); *dTmp = fdFreqToPer(fdEqRotRate( @@ -2674,7 +2674,7 @@ void WriteEqRotPer(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2683,7 +2683,7 @@ void WriteEqRotPer(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteEqRotPerCont(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { int iOrbiter = fiAssignTidalOrbiter(body, iBody); @@ -2699,7 +2699,7 @@ void WriteEqRotPerCont(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2708,7 +2708,7 @@ void WriteEqRotPerCont(BODY *body, CONTROL *control, OUTPUT *output, void WriteEqRotPerDiscrete(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iOrbiter = fiAssignTidalOrbiter(body, iBody); if (control->Evolve.iEqtideModel == CPL) { @@ -2720,7 +2720,7 @@ void WriteEqRotPerDiscrete(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2729,7 +2729,7 @@ void WriteEqRotPerDiscrete(BODY *body, CONTROL *control, OUTPUT *output, void WriteEqRotRate(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { int iOrbiter = fiAssignTidalOrbiter(body, iBody); *dTmp = fdEqRotRate(body, iBody, body[iOrbiter].dMeanMotion, @@ -2738,7 +2738,7 @@ void WriteEqRotRate(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2747,7 +2747,7 @@ void WriteEqRotRate(BODY *body, CONTROL *control, OUTPUT *output, void WriteEqRotRateCont(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { int iOrbiter = fiAssignTidalOrbiter(body, iBody); @@ -2762,7 +2762,7 @@ void WriteEqRotRateCont(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2771,7 +2771,7 @@ void WriteEqRotRateCont(BODY *body, CONTROL *control, OUTPUT *output, void WriteEqRotRateDiscrete(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iOrbiter = fiAssignTidalOrbiter(body, iBody); if (control->Evolve.iEqtideModel == CPL) { @@ -2783,7 +2783,7 @@ void WriteEqRotRateDiscrete(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2793,7 +2793,7 @@ void WriteEqRotRateDiscrete(BODY *body, CONTROL *control, OUTPUT *output, // Equilibrium Tidal Power void WriteEqTidePower(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { int iOrbiter = fiAssignTidalOrbiter(body, iBody); if (control->Evolve.iEqtideModel == CPL) { @@ -2812,7 +2812,7 @@ void WriteEqTidePower(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -2825,7 +2825,7 @@ void WriteEqTidePower(BODY *body, CONTROL *control, OUTPUT *output, void WriteGammaOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Broken */ //*dTmp = @@ -2838,7 +2838,7 @@ void WriteGammaOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteGammaRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Broken @@ -2854,7 +2854,7 @@ void WriteGammaRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteK2Ocean(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dK2Ocean; @@ -2863,7 +2863,7 @@ void WriteK2Ocean(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteK2Env(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dK2Env; @@ -2872,7 +2872,7 @@ void WriteK2Env(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteOblTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Broken @@ -2895,14 +2895,14 @@ void WriteOblTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteRotTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fdTimescaleMulti(body[iBody].dRotRate, *(update[iBody].padDrotDtEqtide), body[iBody].iTidePerts); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2915,12 +2915,12 @@ void WriteRotTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteSemiTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fdTimescale(body[iBody].dSemi, *(update[iBody].pdDsemiDtEqtide)); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2933,7 +2933,7 @@ void WriteSemiTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WritePowerEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get total tidal power */ *dTmp = fdTidePower(body, iBody, control->Evolve.iEqtideModel); //*dTmp = body[iBody].dTidalPowMan; @@ -2950,7 +2950,7 @@ fprintf(stderr,"TidalZ: %lf\n",body[iBody].dTidalZ[jBody]); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -2959,14 +2959,14 @@ fprintf(stderr,"TidalZ: %lf\n",body[iBody].dTidalZ[jBody]); void WriteEnergyFluxEqtide(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total tidal surface energy flux */ *dTmp = fdSurfEnFluxEqtide(body, system, update, iBody, control->Evolve.iEqtideModel); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -2975,12 +2975,12 @@ void WriteEnergyFluxEqtide(BODY *body, CONTROL *control, OUTPUT *output, void WriteTidalTau(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dTidalTau; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -2989,7 +2989,7 @@ void WriteTidalTau(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteTideLock(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = control->Evolve.bForceEqSpin[iBody]; strcat(cUnit, ""); diff --git a/src/eqtide.h b/src/eqtide.h index bef4fb018..8cb8db7b8 100644 --- a/src/eqtide.h +++ b/src/eqtide.h @@ -186,76 +186,76 @@ void FinalizeUpdateSemiEqtide(BODY *, UPDATE *, int *, int, int, int); void HelpOutputEqtide(OUTPUT *); void WriteBodyDsemiDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteBodyDeccDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDOblDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteDSemiDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDEccDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteDMeanMotionDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDOrbPerDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDRotPerDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDRotRateDtEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteEccTimescaleEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteEqRotPer(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteEqRotPerCont(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteEqRotPerDiscrete(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteEqRotRate(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteEqRotRateCont(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteEqRotRateDiscrete(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteGammaOrb(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteGammaRot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteOblTimescaleEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteRotTimescaleEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteSemiTimescaleEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WritePowerEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteSurfEnFluxEqtide(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteEqPower(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteEqSurfEnFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteTidalQ(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteTidalTau(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteTideLock(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteLockTime(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); // void // WriteImK2(BODY*,CONTROL*,OUTPUT*,SYSTEM*,UNITS*,UPDATE*,int,double*,char[]); void WriteK2Ocean(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteK2Env(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteTidalQOcean(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteTidalQEnv(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void InitializeOutputEqtide(OUTPUT *, fnWriteOutput[]); void WriteTidalRadius(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); /* Logging Functions */ void LogOptionsEqtide(CONTROL *, FILE *); diff --git a/src/flare.c b/src/flare.c index 54aca8b47..c35ddb651 100644 --- a/src/flare.c +++ b/src/flare.c @@ -992,11 +992,11 @@ void WriteLXUVFlare(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = fdLXUVFlare(body, control->Evolve.dTimeStep, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -1034,7 +1034,7 @@ void WriteLXUVFlareLower(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dLXUVFlareLower; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -1053,11 +1053,11 @@ void WriteFlareFreq1(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareFreq1; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1071,11 +1071,11 @@ void WriteFlareFreq2(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareFreq2; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1089,11 +1089,11 @@ void WriteFlareFreq3(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareFreq3; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1107,11 +1107,11 @@ void WriteFlareFreq4(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareFreq4; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1125,11 +1125,11 @@ void WriteFlareFreqMin(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareFreqMin; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1143,11 +1143,11 @@ void WriteFlareFreqMid(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareFreqMid; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1161,11 +1161,11 @@ void WriteFlareFreqMax(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareFreqMax; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1179,11 +1179,11 @@ void WriteFlareEnergy1(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareEnergy1; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1198,11 +1198,11 @@ void WriteFlareEnergy2(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareEnergy2; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1217,11 +1217,11 @@ void WriteFlareEnergy3(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareEnergy3; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1236,11 +1236,11 @@ void WriteFlareEnergy4(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareEnergy4; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1254,11 +1254,11 @@ void WriteFlareEnergyMin(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareEnergyMin; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1272,11 +1272,11 @@ void WriteFlareEnergyMid(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareEnergyMid; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1291,11 +1291,11 @@ void WriteFlareEnergyMax(BODY *body, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dFlareEnergyMax; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); diff --git a/src/flare.h b/src/flare.h index 7647a8180..8d8ca979c 100644 --- a/src/flare.h +++ b/src/flare.h @@ -108,35 +108,35 @@ void InitializeOutputFunctionFlare(OUTPUT *, int, int); void FinalizeOutputFunctionFlare(OUTPUT *, int, int); void WriteLXUVFlare(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareFreq1(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareFreq2(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareFreq3(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareFreq4(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareFreqMin(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareFreqMid(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareFreqMax(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareEnergy1(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareEnergy2(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareEnergy3(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareEnergy4(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFlareEnergyMin(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteFlareEnergyMid(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteFlareEnergyMax(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); /* Logging Functions */ void LogOptionsFlare(CONTROL *, FILE *); diff --git a/src/galhabit.c b/src/galhabit.c index 63b7a5e2c..b85545188 100644 --- a/src/galhabit.c +++ b/src/galhabit.c @@ -1412,13 +1412,13 @@ void VerifyHaltGalHabit(BODY *body, CONTROL *control, OPTIONS *options, void WriteBodyPeriQ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dSemi * (1.0 - body[iBody].dEcc); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -1427,42 +1427,42 @@ void WriteBodyPeriQ(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyEccX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dEccX; } void WriteBodyEccY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dEccY; } void WriteBodyEccZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dEccZ; } void WriteBodyAngMX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dAngMX; } void WriteBodyAngMY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dAngMY; } void WriteBodyAngMZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dAngMZ; } @@ -1470,28 +1470,28 @@ void WriteBodyAngMZ(BODY *body, CONTROL *control, OUTPUT *output, void WriteNEncounters(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = (double)system->iNEncounters; } void WriteNBadImpulse(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = (double)body[iBody].iBadImpulse; } void WriteFVelDisp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = system->dScalingFVelDisp; } void WriteDEccDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dex, dey, dez; if (body[iBody].bGalacTides) { @@ -1509,7 +1509,7 @@ void WriteDEccDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -1518,7 +1518,7 @@ void WriteDEccDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, void WriteDIncDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dhx, dhy, dhz, qx, qy, qz; if (body[iBody].bGalacTides) { @@ -1553,7 +1553,7 @@ void WriteDIncDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1563,7 +1563,7 @@ void WriteDIncDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, void WriteDLongADtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dhx, dhy, dhz, qx, qy, qz; if (body[iBody].bGalacTides) { @@ -1598,7 +1598,7 @@ void WriteDLongADtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); @@ -1608,7 +1608,7 @@ void WriteDLongADtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, void WriteDArgPDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dex, dey, dez, dhx, dhy, dhz, qx, qy, qz, dLAdt, dedt; if (body[iBody].bGalacTides) { @@ -1651,7 +1651,7 @@ void WriteDArgPDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); *dTmp /= fdUnitsAngle(units->iAngle); diff --git a/src/galhabit.h b/src/galhabit.h index 20b1d60f8..8a49e326a 100644 --- a/src/galhabit.h +++ b/src/galhabit.h @@ -91,31 +91,31 @@ void FinalizeUpdatePeriQGalHabit(BODY *, UPDATE *, int *, int, int, int); void FinalizeUpdateArgPGalHabit(BODY *, UPDATE *, int *, int, int, int); void FinalizeUpdateIncGalHabit(BODY *, UPDATE *, int *, int, int, int); void FinalizeUpdateLongAGalHabit(BODY *, UPDATE *, int *, int, int, int); - +void InitializeOutputGalHabit(OUTPUT *, fnWriteOutput[]); void HelpOutputGalHabit(OUTPUT *); + void WriteBodyPeriQ(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteDEccDtGalHTidal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDIncDtGalHTidal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDArgPDtGalHTidal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteDLongADtGalHTidal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); -void InitializeOutputGalHabit(OUTPUT *, fnWriteOutput[]); + UPDATE *, int, double *, char**); void WriteBodyEccX(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyEccY(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyEccZ(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyAngMX(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyAngMY(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteBodyAngMZ(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); /* Logging Functions */ void LogOptionsGalHabit(CONTROL *, FILE *); diff --git a/src/magmoc.c b/src/magmoc.c index eb5949c21..cea343cf5 100644 --- a/src/magmoc.c +++ b/src/magmoc.c @@ -2212,11 +2212,11 @@ void VerifyHaltMagmOc(BODY *body, CONTROL *control, OPTIONS *options, int iBody, void WritePotTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dPotTemp; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTemp(units->iTemp, 1, 0); fsUnitsTemp(units->iTemp, cUnit); @@ -2225,11 +2225,11 @@ void WritePotTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteSurfTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dSurfTemp; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTemp(units->iTemp, 1, 0); fsUnitsTemp(units->iTemp, cUnit); @@ -2238,11 +2238,11 @@ void WriteSurfTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteSolidRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dSolidRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2251,11 +2251,11 @@ void WriteSolidRadius(BODY *body, CONTROL *control, OUTPUT *output, void WriteWaterMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dWaterMassMOAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2264,11 +2264,11 @@ void WriteWaterMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, void WriteWaterMassSol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dWaterMassSol; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2277,11 +2277,11 @@ void WriteWaterMassSol(BODY *body, CONTROL *control, OUTPUT *output, void WriteCO2MassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCO2MassMOAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2290,11 +2290,11 @@ void WriteCO2MassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, void WriteCO2MassSol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCO2MassSol; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2303,11 +2303,11 @@ void WriteCO2MassSol(BODY *body, CONTROL *control, OUTPUT *output, void WriteOxygenMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dOxygenMassMOAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2316,11 +2316,11 @@ void WriteOxygenMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, void WriteOxygenMassSol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dOxygenMassSol; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2329,44 +2329,44 @@ void WriteOxygenMassSol(BODY *body, CONTROL *control, OUTPUT *output, void WritePressWaterAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dPressWaterAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } void WritePressCO2Atm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dPressCO2Atm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } void WritePressOxygenAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dPressOxygenAtm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } void WriteHydrogenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dHydrogenMassSpace; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2375,11 +2375,11 @@ void WriteHydrogenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, void WriteOxygenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dOxygenMassSpace; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -2388,57 +2388,57 @@ void WriteOxygenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, void WriteFracFe2O3Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dFracFe2O3Man; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } void WriteNetFluxAtmo(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dNetFluxAtmo; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } void WriteWaterFracMelt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dWaterFracMelt; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } void WriteCO2FracMelt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dCO2FracMelt; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } void WriteRadioPower(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody] .dRadioHeat; //* (4/3*PI*body[iBody].dManMeltDensity*(pow(body[iBody].dRadius,3)-pow(body[iBody].dCoreRadius,3))); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -2447,13 +2447,13 @@ void WriteRadioPower(BODY *body, CONTROL *control, OUTPUT *output, void WriteTidalPower(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody] .dTidalHeat; // * (4/3*PI*body[iBody].dManMeltDensity*(pow(body[iBody].dRadius,3)-pow(body[iBody].dCoreRadius,3))); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -2462,11 +2462,11 @@ void WriteTidalPower(BODY *body, CONTROL *control, OUTPUT *output, void WriteHZInnerEdge(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHZInnerEdge; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -2475,11 +2475,11 @@ void WriteHZInnerEdge(BODY *body, CONTROL *control, OUTPUT *output, void WriteMeltFraction(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dMeltFraction; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } diff --git a/src/magmoc.h b/src/magmoc.h index 408158f82..3173772f5 100644 --- a/src/magmoc.h +++ b/src/magmoc.h @@ -209,51 +209,51 @@ void InitializeOutputFunctionMagmOc(OUTPUT *, int, int); void FinalizeOutputFunctionMagmOc(OUTPUT *, int, int); void WritePotTemp(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteSurfTemp(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteSolidRadius(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteWaterMassMOAtm(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteWaterMassSol(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteCO2MassMOAtm(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteCO2MassSol(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteOxygenMassMOAtm(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteOxygenMassSol(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WritePressWaterAtm(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WritePressCO2Atm(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WritePressOxygenAtm(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteHydrogenMassSpace(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteOxygenMassSpace(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteFracFe2O3Man(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteNetFluxAtmo(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteWaterFracMelt(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteCO2FracMelt(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteRadioPower(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteTidalPower(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteSemiMajorAxis(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteHZInnerEdge(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteMeltFraction(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); /* Logging Functions */ void LogOptionsMagmOc(CONTROL *, FILE *); diff --git a/src/output.c b/src/output.c index c731acfff..754900e3f 100644 --- a/src/output.c +++ b/src/output.c @@ -15,7 +15,7 @@ void WriteAge(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dAge; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -33,7 +33,7 @@ void WriteAge(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, /* iBodyType */ void WriteBodyType(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].iBodyType; strcpy(cUnit, ""); } @@ -45,7 +45,7 @@ void WriteBodyType(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, /* Climate-obliquity-precession parameter */ void WriteCOPP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dEcc * sin(body[iBody].dLongP + body[iBody].dPrecA) * sin(body[iBody].dObliquity); @@ -56,7 +56,7 @@ void WriteCOPP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, * orbit) */ void WriteCriticalSemi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Only valid for simulations of tidally-interacting binary stars that have // 2 bodies: 0, 1, both stars, with bStellar = bEqtide = 1 @@ -88,7 +88,7 @@ void WriteCriticalSemi(BODY *body, CONTROL *control, OUTPUT *output, void WriteDeltaTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (control->Evolve.bVarDt) { if (control->Evolve.dTime > 0) { @@ -115,7 +115,7 @@ void WriteDeltaTime(BODY *body, CONTROL *control, OUTPUT *output, void WriteDensity(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = fdSphereDensity(body[iBody].dMass, body[iBody].dRadius); @@ -135,7 +135,7 @@ void WriteDensity(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteHecc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dHecc; strcpy(cUnit, ""); @@ -145,7 +145,7 @@ void WriteHecc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteHZLimitDryRunaway(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dLuminosity; int jBody; @@ -175,7 +175,7 @@ void WriteHZLimitDryRunaway(BODY *body, CONTROL *control, OUTPUT *output, void WriteHZLimitRecentVenus(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLim; double *daHZLimits; // Array of HZ limits @@ -215,7 +215,7 @@ void WriteHZLimitRecentVenus(BODY *body, CONTROL *control, OUTPUT *output, void WriteHZLimitRunawayGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double *daHZLimits; // Array of HZ limits daHZLimits = malloc(6 * sizeof(double)); @@ -246,7 +246,7 @@ void WriteHZLimitRunawayGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, void WriteHZLimitMoistGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double *daHZLimits; // Array of HZ limits daHZLimits = malloc(6 * sizeof(double)); @@ -276,7 +276,7 @@ void WriteHZLimitMoistGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, void WriteHZLimitMaxGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double *daHZLimits; // Array of HZ limits daHZLimits = malloc(6 * sizeof(double)); @@ -306,7 +306,7 @@ void WriteHZLimitMaxGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, void WriteHZLimitEarlyMars(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double *daHZLimits; // Array of HZ limits daHZLimits = malloc(6 * sizeof(double)); @@ -340,7 +340,7 @@ void WriteHZLimitEarlyMars(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyInc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bDistOrb) { *dTmp = fdInclination(body, iBody); } else { @@ -358,7 +358,7 @@ void WriteBodyInc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteInstellation(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Should have special case if bBinary=1 // if (body[iBody].bSpiNBody) @@ -391,7 +391,7 @@ void WriteInstellation(BODY *body, CONTROL *control, OUTPUT *output, void WriteK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { // This is calculated during PropsAux if (body[iBody].bEqtide) { *dTmp = body[iBody].dK2Man; @@ -406,7 +406,7 @@ void WriteK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteImK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bEqtide) { *dTmp = body[iBody].dImK2Man; @@ -422,7 +422,7 @@ void WriteImK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteKecc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dKecc; strcpy(cUnit, ""); @@ -434,7 +434,7 @@ void WriteKecc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteBodyLongA(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].bDistOrb) { *dTmp = fdLongA(body, iBody); } else { @@ -459,7 +459,7 @@ void WriteBodyLongA(BODY *body, CONTROL *control, OUTPUT *output, void WriteLongP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bSpiNBody || body[iBody].bBinary) { @@ -494,7 +494,7 @@ void WriteLongP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteBodyArgP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { double varpi, Omega; if (body[iBody].bDistOrb) { @@ -519,7 +519,7 @@ void WriteBodyArgP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteLXUVTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Multiple modules can contribute to this output */ int iModule; @@ -554,7 +554,7 @@ void WriteLXUVTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dMass; if (output->bDoNeg[iBody]) { @@ -572,7 +572,7 @@ void WriteMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteObliquity(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = atan2(sqrt(pow(body[iBody].dXobl, 2) + pow(body[iBody].dYobl, 2)), body[iBody].dZobl); @@ -588,7 +588,7 @@ void WriteObliquity(BODY *body, CONTROL *control, OUTPUT *output, void WriteBodyPrecA(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].bDistRot == 0 && body[iBody].bPoise == 1) { *dTmp = body[iBody].dPrecA; } else { @@ -613,7 +613,7 @@ void WriteBodyPrecA(BODY *body, CONTROL *control, OUTPUT *output, void WriteOrbAngMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { char cTmp; double *pdOrbMom; if (body[iBody].bSpiNBody) { @@ -639,7 +639,7 @@ void WriteOrbAngMom(BODY *body, CONTROL *control, OUTPUT *output, void WriteOrbEcc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bBinary != 1) { // Not doing binary if (iBody > 0) { if (body[iBody].bDistOrb || body[iBody].bEqtide) { @@ -666,7 +666,7 @@ void WriteOrbEcc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, // XXX This function doesn't work! void WriteLostEng(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = -1; *dTmp = body[iBody].dLostEng; @@ -684,7 +684,7 @@ void WriteLostEng(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteOrbEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdOrbEnergy(body, control, system, iBody); @@ -699,7 +699,7 @@ void WriteOrbEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WriteOrbMeanMotion(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].bBinary == 0) { // Not doing binary if (iBody > 0) { @@ -726,7 +726,7 @@ void WriteOrbMeanMotion(BODY *body, CONTROL *control, OUTPUT *output, void WriteOrbPeriod(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].bBinary == 0) { // Not doing binary if (iBody > 0) { @@ -759,7 +759,7 @@ void WriteOrbPeriod(BODY *body, CONTROL *control, OUTPUT *output, void WriteOrbSemi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bBinary == 0) { // Not doing binary if (iBody > 0) { @@ -792,7 +792,7 @@ void WriteOrbSemi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dRadius; if (output->bDoNeg[iBody]) { @@ -806,14 +806,14 @@ void WriteRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteRadGyra(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dRadGyra; - fvFormattedString(&cUnit, "%s", ""); + fvFormattedString(cUnit, "%s", ""); } void WriteRotAngMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdRotAngMom(body[iBody].dRadGyra, body[iBody].dMass, body[iBody].dRadius, body[iBody].dRotRate); @@ -831,7 +831,7 @@ void WriteRotAngMom(BODY *body, CONTROL *control, OUTPUT *output, void WriteRotKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdRotKinEnergy(body[iBody].dMass, body[iBody].dRadius, body[iBody].dRadGyra, body[iBody].dRotRate); @@ -846,7 +846,7 @@ void WriteRotKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WriteRotRate(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dRotRate; if (output->bDoNeg[iBody]) { @@ -860,7 +860,7 @@ void WriteRotRate(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteRotPer(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = fdFreqToPer(body[iBody].dRotRate); if (output->bDoNeg[iBody]) { @@ -874,7 +874,7 @@ void WriteRotPer(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteRotVel(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = fdRotVel(body[iBody].dRadius, body[iBody].dRotRate); if (output->bDoNeg[iBody]) { @@ -892,7 +892,7 @@ the solid interior, ocean, and/envelope. */ void WriteSurfaceEnergyFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Surface Energy Flux is complicated because it either all comes through thermint, or it can be from eqtide and/or radheat. */ @@ -945,7 +945,7 @@ void WriteSurfaceEnergyFlux(BODY *body, CONTROL *control, OUTPUT *output, void WriteTidalQ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bEqtide) { if (body[iBody].bThermint && !body[iBody].bOcean && !body[iBody].bEnv) { @@ -979,7 +979,7 @@ void WriteTidalQ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteTidalQMantle(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { // Updated every timestep by PropsAuxEqtideThermint if (body[iBody].bEqtide) { @@ -992,7 +992,7 @@ void WriteTidalQMantle(BODY *body, CONTROL *control, OUTPUT *output, void WriteTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = control->Evolve.iDir * control->Evolve.dTime; if (output->bDoNeg[iBody]) { @@ -1006,7 +1006,7 @@ void WriteTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteTotAngMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdTotAngMom(body, control, system); @@ -1023,7 +1023,7 @@ void WriteTotAngMom(BODY *body, CONTROL *control, OUTPUT *output, void WriteLostAngMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dLostAngMom; @@ -1040,7 +1040,7 @@ void WriteLostAngMom(BODY *body, CONTROL *control, OUTPUT *output, void WriteTotEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdTotEnergy(body, control, system); @@ -1055,7 +1055,7 @@ void WriteTotEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WritePotEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdPotEnergy(body, control, system, iBody); @@ -1070,7 +1070,7 @@ void WritePotEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WriteKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdKinEnergy(body, control, system, iBody); @@ -1085,7 +1085,7 @@ void WriteKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WriteOrbKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdOrbKinEnergy(body, control, system, iBody); @@ -1100,7 +1100,7 @@ void WriteOrbKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WriteOrbPotEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (iBody > 0) { *dTmp = fdOrbPotEnergy(body, control, system, iBody); @@ -1119,7 +1119,7 @@ void WriteOrbPotEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WriteTotOrbEnergy(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fdTotOrbEnergy(body, control, system); if (output->bDoNeg[iBody]) { @@ -1133,7 +1133,7 @@ void WriteTotOrbEnergy(BODY *body, CONTROL *control, OUTPUT *output, void WriteImK2(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { // ImK2 should always be up to date if (body[iBody].bEqtide) { @@ -1146,7 +1146,7 @@ void WriteImK2(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteK2(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bThermint && !body[iBody].bOcean && !body[iBody].bEnv) { *dTmp = fdK2Man(body, iBody); @@ -1158,7 +1158,7 @@ void WriteK2(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteXobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dXobl; strcpy(cUnit, ""); @@ -1166,7 +1166,7 @@ void WriteXobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteYobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dYobl; strcpy(cUnit, ""); @@ -1174,7 +1174,7 @@ void WriteYobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteZobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dZobl; strcpy(cUnit, ""); @@ -1182,7 +1182,7 @@ void WriteZobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteMeanAnomaly(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dMeanA; @@ -1197,7 +1197,7 @@ void WriteMeanAnomaly(BODY *body, CONTROL *control, OUTPUT *output, void WriteMeanLongitude(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (control->Evolve.bUsingDistOrb && iBody != 0) { *dTmp = body[iBody].dMeanL + sqrt(body[iBody].dMu / @@ -1846,15 +1846,15 @@ void UnitsSI(UNITS *units) { void WriteLogEntry(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite, FILE *fp, int iBody) { double *dTmp; - char cUnit[48]; + char *cUnit=NULL; UNITS units; int i, j, iNumIndices; - cUnit[0] = '\0'; + //cUnit[0] = '\0'; dTmp = malloc(output->iNum * sizeof(double)); UnitsSI(&units); - fnWrite(body, control, output, system, &units, update, iBody, dTmp, cUnit); + fnWrite(body, control, output, system, &units, update, iBody, dTmp, &cUnit); fprintf(fp, "(%s) %s [%s]: ", output->cName, output->cDescr, cUnit); for (j = 0; j < output->iNum; j++) { @@ -1862,6 +1862,7 @@ void WriteLogEntry(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, fprintf(fp, " "); } free(dTmp); + free(cUnit); fprintf(fp, "\n"); } @@ -2009,7 +2010,7 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, int iCol, iOut, iSubOut, iExtra = 0; char cCol[MODULEOUTEND][OUTLEN+2]; // +2 for brackets double *dTmp; - char cUnit[OUTLEN], *cTmp; + char *cUnit=NULL, *cTmp; for (iCol = 0; iCol < files->Outfile[iBody].iNumCols; iCol++) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { @@ -2018,7 +2019,7 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, /* Match! */ dTmp = malloc(output[iOut].iNum * sizeof(double)); fnWrite[iOut](body, control, &output[iOut], system, - &control->Units[iBody], update, iBody, dTmp, cUnit); + &control->Units[iBody], update, iBody, dTmp, &cUnit); for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { strcpy(cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caCol[iCol]); @@ -2044,7 +2045,7 @@ void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, int iCol, iOut, iSubOut, iExtra = 0; char cCol[MODULEOUTEND][OUTLEN+2]; // +2 for brackets double *dTmp; - char cUnit[OUTLEN], *cTmp; + char *cUnit=NULL, *cTmp; for (iCol = 0; iCol < files->Outfile[iBody].iNumGrid; iCol++) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { @@ -2053,7 +2054,7 @@ void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, /* Match! */ dTmp = malloc(output[iOut].iNum * sizeof(double)); fnWrite[iOut](body, control, &output[iOut], system, - &control->Units[iBody], update, iBody, dTmp, cUnit); + &control->Units[iBody], update, iBody, dTmp, &cUnit); for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { strcpy(cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caGrid[iCol]); @@ -2233,8 +2234,9 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, strlen(output[iOut].cName)) == 0) { /* Match! */ dTmp = malloc(output[iOut].iNum * sizeof(double)); + cUnit=NULL; fnWrite[iOut](body, control, &output[iOut], system, - &control->Units[iBody], update, iBody, dTmp, cUnit); + &control->Units[iBody], update, iBody, dTmp, &cUnit); for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { dCol[iCol + iSubOut + iExtra] = dTmp[iSubOut]; } @@ -2269,9 +2271,10 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, if (memcmp(files->Outfile[iBody].caGrid[iGrid], output[iOut].cName, strlen(output[iOut].cName)) == 0) { body[iBody].iWriteLat = iLat; + cUnit=NULL; fnWrite[iOut](body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, - cUnit); + &cUnit); dGrid[iGrid] = *dTmp; } } @@ -2284,18 +2287,18 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, if (control->Evolve.dTime == 0 && iLat == 0) { if (body[iBody].iClimateModel == SEA) { WriteDailyInsol(body, control, &output[iOut], system, - &control->Units[iBody], update, iBody, dTmp, cUnit); + &control->Units[iBody], update, iBody, dTmp, &cUnit); WriteSeasonalTemp(body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, - cUnit); + &cUnit); WriteSeasonalIceBalance(body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, - cUnit); + &cUnit); WriteSeasonalFluxes(body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, - cUnit); + &cUnit); WritePlanckB(body, control, &output[iOut], system, - &control->Units[iBody], update, iBody, dTmp, cUnit); + &control->Units[iBody], update, iBody, dTmp, &cUnit); if (body[iBody].dSeasOutputTime != 0) { body[iBody].dSeasNextOutput = body[iBody].dSeasOutputTime; @@ -2310,18 +2313,18 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, if (control->Evolve.dTime >= body[iBody].dSeasNextOutput && iLat == 0) { WriteDailyInsol(body, control, &output[iOut], system, - &control->Units[iBody], update, iBody, dTmp, cUnit); + &control->Units[iBody], update, iBody, dTmp, &cUnit); WriteSeasonalTemp(body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, - cUnit); + &cUnit); WriteSeasonalIceBalance(body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, - cUnit); + &cUnit); WriteSeasonalFluxes(body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, - cUnit); + &cUnit); WritePlanckB(body, control, &output[iOut], system, - &control->Units[iBody], update, iBody, dTmp, cUnit); + &control->Units[iBody], update, iBody, dTmp, &cUnit); body[iBody].dSeasNextOutput = control->Evolve.dTime + body[iBody].dSeasOutputTime; diff --git a/src/output.h b/src/output.h index dede94e80..369fea3a5 100644 --- a/src/output.h +++ b/src/output.h @@ -110,8 +110,7 @@ /* @cond DOXYGEN_OVERRIDE */ -void WriteBodyPrecA(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + void Bary2OrbElems(BODY *body, int iBody); void WriteLogEntry(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UPDATE *, fnWriteOutput, FILE *, int); @@ -122,7 +121,9 @@ void WriteOutput(BODY *, CONTROL *, FILES *, OUTPUT *, SYSTEM *, UPDATE *, void WriteLog(BODY *, CONTROL *, FILES *, MODULE *, OPTIONS *, OUTPUT *, SYSTEM *, UPDATE *, fnUpdateVariable ***, fnWriteOutput *, int); void InitializeOutput(FILES*,OUTPUT *, fnWriteOutput *); -void WriteTime(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); +void WriteTime(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, + double *, char**); +void WriteBodyPrecA(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, + int, double *, char**); /* @endcond */ diff --git a/src/poise.c b/src/poise.c index 98b011249..c9538308f 100644 --- a/src/poise.c +++ b/src/poise.c @@ -2683,7 +2683,7 @@ void VerifyHaltPoise(BODY *body, CONTROL *control, OPTIONS *options, int iBody, void WriteTGlobal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get TGlobal */ *dTmp = body[iBody].dTGlobal; if (output->bDoNeg[iBody]) { @@ -2697,7 +2697,7 @@ void WriteTGlobal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteAlbedoGlobal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get AlbedoGlobal */ *dTmp = body[iBody].dAlbedoGlobal; strcpy(cUnit, ""); @@ -2705,7 +2705,7 @@ void WriteAlbedoGlobal(BODY *body, CONTROL *control, OUTPUT *output, void WriteSnowball(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get snowball status */ *dTmp = (double)body[iBody].bSnowball; strcpy(cUnit, ""); @@ -2713,7 +2713,7 @@ void WriteSnowball(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteIceCapNorthLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2725,7 +2725,7 @@ void WriteIceCapNorthLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceCapNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2743,7 +2743,7 @@ void WriteIceCapNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceCapNorthSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2754,7 +2754,7 @@ void WriteIceCapNorthSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceCapNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2772,7 +2772,7 @@ void WriteIceCapNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceCapSouthLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2783,7 +2783,7 @@ void WriteIceCapSouthLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceCapSouthLatLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2801,7 +2801,7 @@ void WriteIceCapSouthLatLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceCapSouthSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2812,7 +2812,7 @@ void WriteIceCapSouthSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceCapSouthLatSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatIceEdge, bCap; double dLat; @@ -2831,7 +2831,7 @@ void WriteIceCapSouthLatSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceBeltLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { int iLatNorth, iLatSouth, bBelt; double dLatNorth, dLatSouth; @@ -2844,7 +2844,7 @@ void WriteIceBeltLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceBeltNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatNorth, iLatSouth, bBelt; double dLatNorth, dLatSouth; @@ -2863,7 +2863,7 @@ void WriteIceBeltNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceBeltSouthLatLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatNorth, iLatSouth, bBelt; double dLatSouth, dLatNorth; @@ -2882,7 +2882,7 @@ void WriteIceBeltSouthLatLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceBeltSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { int iLatNorth, iLatSouth, bBelt; double dLatNorth, dLatSouth; @@ -2895,7 +2895,7 @@ void WriteIceBeltSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceBeltNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatNorth, iLatSouth, bBelt; double dLatNorth, dLatSouth; @@ -2914,7 +2914,7 @@ void WriteIceBeltNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceBeltSouthLatSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { int iLatNorth, iLatSouth, bBelt; double dLatNorth, dLatSouth; @@ -2933,7 +2933,7 @@ void WriteIceBeltSouthLatSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteSnowballLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = (double)fbSnowballLand(body, iBody); strcpy(cUnit, ""); @@ -2941,7 +2941,7 @@ void WriteSnowballLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteSnowballSea(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = (double)fbSnowballSea(body, iBody); strcpy(cUnit, ""); @@ -2949,7 +2949,7 @@ void WriteSnowballSea(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceFree(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = (double)fbIceFree(body, iBody); strcpy(cUnit, ""); @@ -2957,7 +2957,7 @@ void WriteIceFree(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteSkipSeas(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get AlbedoGlobal */ *dTmp = body[iBody].bSkipSeas; strcpy(cUnit, ""); @@ -2965,7 +2965,7 @@ void WriteSkipSeas(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteTempLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -2989,7 +2989,7 @@ void WriteTempLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteTempMinLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3014,7 +3014,7 @@ void WriteTempMinLat(BODY *body, CONTROL *control, OUTPUT *output, void WriteTempMaxLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3038,7 +3038,7 @@ void WriteTempMaxLat(BODY *body, CONTROL *control, OUTPUT *output, void WriteTempMaxLand(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3062,7 +3062,7 @@ void WriteTempMaxLand(BODY *body, CONTROL *control, OUTPUT *output, void WriteTempMaxWater(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3084,7 +3084,7 @@ void WriteTempMaxWater(BODY *body, CONTROL *control, OUTPUT *output, void WriteTempLandLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3106,7 +3106,7 @@ void WriteTempLandLat(BODY *body, CONTROL *control, OUTPUT *output, void WriteTempWaterLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3128,7 +3128,7 @@ void WriteTempWaterLat(BODY *body, CONTROL *control, OUTPUT *output, void WriteLatitude(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].daLats[body[iBody].iWriteLat]; @@ -3146,7 +3146,7 @@ void WriteLatitude(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteAlbedoLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3162,7 +3162,7 @@ void WriteAlbedoLat(BODY *body, CONTROL *control, OUTPUT *output, void WriteAlbedoLandLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3177,7 +3177,7 @@ void WriteAlbedoLandLat(BODY *body, CONTROL *control, OUTPUT *output, void WriteAlbedoWaterLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3192,7 +3192,7 @@ void WriteAlbedoWaterLat(BODY *body, CONTROL *control, OUTPUT *output, void WriteFluxInGlobal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dFluxInGlobal; @@ -3209,7 +3209,7 @@ void WriteFluxInGlobal(BODY *body, CONTROL *control, OUTPUT *output, void WriteFluxOutGlobal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dFluxOutGlobal; @@ -3227,7 +3227,7 @@ void WriteFluxOutGlobal(BODY *body, CONTROL *control, OUTPUT *output, void WriteTotIceMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dIceMassTot; @@ -3245,7 +3245,7 @@ void WriteTotIceMass(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceFlowTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dIceFlowTot; @@ -3260,7 +3260,7 @@ void WriteIceFlowTot(BODY *body, CONTROL *control, OUTPUT *output, void WriteAreaIceCov(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { fvAreaIceCovered(body, iBody); *dTmp = body[iBody].dAreaIceCov; @@ -3276,7 +3276,7 @@ void WriteAreaIceCov(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceBalanceTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dIceBalanceTot; @@ -3294,7 +3294,7 @@ void WriteIceBalanceTot(BODY *body, CONTROL *control, OUTPUT *output, void WriteAnnualInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].daAnnualInsol[body[iBody].iWriteLat]; @@ -3311,7 +3311,7 @@ void WriteAnnualInsol(BODY *body, CONTROL *control, OUTPUT *output, void WritePeakInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].daPeakInsol[body[iBody].iWriteLat]; @@ -3328,7 +3328,7 @@ void WritePeakInsol(BODY *body, CONTROL *control, OUTPUT *output, void WriteDailyInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { char *cOut; FILE *fp; @@ -3381,7 +3381,7 @@ void WriteDailyInsol(BODY *body, CONTROL *control, OUTPUT *output, void WritePlanckB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { char *cOut; FILE *fp; @@ -3435,7 +3435,7 @@ void WritePlanckB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteSeasonalTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { char *cOut; FILE *fp; @@ -3491,7 +3491,7 @@ void WriteSeasonalTemp(BODY *body, CONTROL *control, OUTPUT *output, void WriteSeasonalFluxes(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { char *cOutM, *cOutI, *cOutO, *cOutD; FILE *fpM, *fpI, *fpO, *fpD; @@ -3587,7 +3587,7 @@ void WriteSeasonalFluxes(BODY *body, CONTROL *control, OUTPUT *output, void WriteSeasonalIceBalance(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { char *cOut; FILE *fp; @@ -3640,7 +3640,7 @@ void WriteSeasonalIceBalance(BODY *body, CONTROL *control, OUTPUT *output, void WriteFluxMerid(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3665,7 +3665,7 @@ void WriteFluxMerid(BODY *body, CONTROL *control, OUTPUT *output, void WriteFluxIn(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3689,7 +3689,7 @@ void WriteFluxIn(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteFluxOut(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { @@ -3713,7 +3713,7 @@ void WriteFluxOut(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteDivFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].iClimateModel == ANN || body[iBody].bSkipSeas == 1) { *dTmp = body[iBody].daDivFlux[body[iBody].iWriteLat]; @@ -3730,7 +3730,7 @@ void WriteDivFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteIceMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bIceSheets) { *dTmp = body[iBody].daIceMass[body[iBody].iWriteLat]; @@ -3750,7 +3750,7 @@ void WriteIceMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteIceHeight(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].bIceSheets) { *dTmp = body[iBody].daIceMass[body[iBody].iWriteLat] / RHOICE; @@ -3768,7 +3768,7 @@ void WriteIceHeight(BODY *body, CONTROL *control, OUTPUT *output, void WriteBedrockH(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { if (body[iBody].bIceSheets) { *dTmp = body[iBody].daBedrockH[body[iBody].iWriteLat]; @@ -3786,7 +3786,7 @@ void WriteBedrockH(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WritePlanckBAvg(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { if (body[iBody].bIceSheets) { *dTmp = body[iBody].daPlanckBAvg[body[iBody].iWriteLat]; @@ -3804,7 +3804,7 @@ void WritePlanckBAvg(BODY *body, CONTROL *control, OUTPUT *output, void WriteDIceMassDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { //*dTmp = body[iBody].daIceBalanceAnnual[body[iBody].iWriteLat]; if (body[iBody].bIceSheets) { @@ -3823,7 +3823,7 @@ void WriteDIceMassDt(BODY *body, CONTROL *control, OUTPUT *output, void WriteIceAccum(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { //*dTmp = body[iBody].daIceBalanceAnnual[body[iBody].iWriteLat]; if (body[iBody].bIceSheets) { @@ -3842,7 +3842,7 @@ void WriteIceAccum(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteIceAblate(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { //*dTmp = body[iBody].daIceBalanceAnnual[body[iBody].iWriteLat]; if (body[iBody].bIceSheets) { @@ -3862,7 +3862,7 @@ void WriteIceAblate(BODY *body, CONTROL *control, OUTPUT *output, void WriteDIceMassDtFlow(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { // *dTmp = body[iBody].daIceBalanceAnnual[body[iBody].iWriteLat]; if (body[iBody].bIceSheets) { @@ -3881,7 +3881,7 @@ void WriteDIceMassDtFlow(BODY *body, CONTROL *control, OUTPUT *output, void WriteEnergyResL(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].daEnergyResL[body[iBody].iWriteLat]; @@ -3895,7 +3895,7 @@ void WriteEnergyResL(BODY *body, CONTROL *control, OUTPUT *output, void WriteEnergyResW(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].daEnergyResW[body[iBody].iWriteLat]; diff --git a/src/poise.h b/src/poise.h index ed3931494..2e028c21e 100644 --- a/src/poise.h +++ b/src/poise.h @@ -209,39 +209,39 @@ void FinalizeUpdateIceMassPoise(BODY *, UPDATE *, int *, int, int, int); void HelpOutputPoise(OUTPUT *); void WriteTGlobal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteAlbedoGlobal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteTempLat(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteTempMinLW(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteTempMaxLW(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteAlbedoLat(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteAnnualInsol(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteDailyInsol(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WritePlanckB(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WritePlanckBAvg(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteSeasonalTemp(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteSeasonalFluxes(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteSeasonalIceBalance(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void WriteFluxMerid(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteFluxIn(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteFluxOut(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteDivFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void InitializeOutputPoise(OUTPUT *, fnWriteOutput[]); /* Logging Functions */ diff --git a/src/radheat.c b/src/radheat.c index 282daa0f2..196eb23c9 100644 --- a/src/radheat.c +++ b/src/radheat.c @@ -3659,7 +3659,7 @@ void fvVerifyHaltRadheat(BODY *body, CONTROL *control, OPTIONS *options, */ void fvWrite26AlPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 26Al *dTmp = -(*(update[iBody].pdD26AlNumManDt))*ENERGY26Al; */ *dTmp = fd26AlPowerMan(update, iBody); @@ -3686,7 +3686,7 @@ void fvWrite26AlPowerMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get surface heat flux from 26Al */ *dTmp = fd26AlEnFlux(body, update, iBody); if (output->bDoNeg[iBody]) { @@ -3712,7 +3712,7 @@ void fvWrite26AlEnFlux(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteD26AlNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = *(update[iBody].pdD26AlNumManDt); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3737,7 +3737,7 @@ void fvWriteD26AlNumDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -3755,7 +3755,7 @@ void fvWrite26AlTimescale(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d26AlNumMan * MASS26AL; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3780,7 +3780,7 @@ void fvWrite26AlMassMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteD26AlPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -3798,7 +3798,7 @@ void fvWriteD26AlPowerDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d26AlNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3823,7 +3823,7 @@ void fvWrite26AlNumMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 26Al */ *dTmp = fd26AlPowerCore(update, iBody); if (output->bDoNeg[iBody]) { @@ -3849,7 +3849,7 @@ void fvWrite26AlPowerCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d26AlNumCore * MASS26AL; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3874,7 +3874,7 @@ void fvWrite26AlMassCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d26AlNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3898,7 +3898,7 @@ void fvWrite26AlNumCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite26AlPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fd26AlPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3926,7 +3926,7 @@ void fvWrite26AlPowerTot(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get total power from 40K *dTmp = -(*(update[iBody].pdD40KNumManDt))*ENERGY40K; */ *dTmp = fd40KPowerMan(update, iBody); @@ -3953,7 +3953,7 @@ void fvWrite40KPowerMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get surface heat flux from 40K */ *dTmp = fd40KEnFlux(body, update, iBody); if (output->bDoNeg[iBody]) { @@ -3979,7 +3979,7 @@ void fvWrite40KEnFlux(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteD40KNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = *(update[iBody].pdD40KNumManDt); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4004,7 +4004,7 @@ void fvWriteD40KNumDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -4022,7 +4022,7 @@ void fvWrite40KTimescale(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d40KNumMan * MASS40K; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4048,7 +4048,7 @@ void fvWrite40KMassMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteD40KPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -4066,7 +4066,7 @@ void fvWriteD40KPowerDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d40KNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4091,7 +4091,7 @@ void fvWrite40KNumMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 40K */ *dTmp = fd40KPowerCore(update, iBody); if (output->bDoNeg[iBody]) { @@ -4117,7 +4117,7 @@ void fvWrite40KPowerCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d40KNumCore * MASS40K; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4142,7 +4142,7 @@ void fvWrite40KMassCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d40KNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4167,7 +4167,7 @@ void fvWrite40KNumCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 40K */ *dTmp = fd40KPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { @@ -4193,7 +4193,7 @@ void fvWrite40KPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d40KNumCrust * MASS40K; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4218,7 +4218,7 @@ void fvWrite40KMassCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d40KNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4242,7 +4242,7 @@ void fvWrite40KNumCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite40KPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = fd40KPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4269,7 +4269,7 @@ void fvWrite40KPowerTot(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get surface heat flux from 232Th */ *dTmp = fd232ThEnFlux(body, update, iBody); @@ -4296,7 +4296,7 @@ void fvWrite232ThEnFlux(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteD232ThNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = *(update[iBody].pdD232ThNumManDt); if (output->bDoNeg[iBody]) { @@ -4322,7 +4322,7 @@ void fvWriteD232ThNumDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWritedD232ThPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -4340,7 +4340,7 @@ void fvWritedD232ThPowerDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -4358,7 +4358,7 @@ void fvWrite232ThTimescale(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total heat from 232Th */ *dTmp = fd232ThPowerMan(update, iBody); if (output->bDoNeg[iBody]) { @@ -4384,7 +4384,7 @@ void fvWrite232ThPowerMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d232ThNumMan * MASS232TH; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4409,7 +4409,7 @@ void fvWrite232ThMassMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d232ThNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4434,7 +4434,7 @@ void fvWrite232ThNumMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total heat from 232Th */ *dTmp = fd232ThPowerCore(update, iBody); if (output->bDoNeg[iBody]) { @@ -4460,7 +4460,7 @@ void fvWrite232ThPowerCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d232ThNumCore * MASS232TH; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4485,7 +4485,7 @@ void fvWrite232ThMassCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d232ThNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4510,7 +4510,7 @@ void fvWrite232ThNumCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total heat from 232Th */ *dTmp = fd232ThPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { @@ -4536,7 +4536,7 @@ void fvWrite232ThPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d232ThNumCrust * MASS232TH; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4561,7 +4561,7 @@ void fvWrite232ThMassCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d232ThNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4585,7 +4585,7 @@ void fvWrite232ThNumCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite232ThPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fd232ThPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4612,7 +4612,7 @@ void fvWrite232ThPowerTot(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get surface heat flux from 238U */ *dTmp = fd238UEnFlux(body, update, iBody); if (output->bDoNeg[iBody]) { @@ -4638,7 +4638,7 @@ void fvWrite238UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteD238UNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = *(update[iBody].pdD238UNumManDt); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4663,7 +4663,7 @@ void fvWriteD238UNumDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWritedD238UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -4681,7 +4681,7 @@ void fvWritedD238UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } @@ -4701,7 +4701,7 @@ void fvWrite238UTimescale(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 238U */ *dTmp = fd238UPowerMan(update, iBody); if (output->bDoNeg[iBody]) { @@ -4727,7 +4727,7 @@ void fvWrite238UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d238UNumMan * MASS238U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4752,7 +4752,7 @@ void fvWrite238UMassMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d238UNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4777,7 +4777,7 @@ void fvWrite238UNumMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 238U */ *dTmp = fd238UPowerCore(update, iBody); if (output->bDoNeg[iBody]) { @@ -4803,7 +4803,7 @@ void fvWrite238UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d238UNumCore * MASS238U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4828,7 +4828,7 @@ void fvWrite238UMassCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d238UNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4853,7 +4853,7 @@ void fvWrite238UNumCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 238U */ *dTmp = fd238UPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { @@ -4879,7 +4879,7 @@ void fvWrite238UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d238UNumCrust * MASS238U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4904,7 +4904,7 @@ void fvWrite238UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d238UNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4928,7 +4928,7 @@ void fvWrite238UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite238UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fd238UPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -4956,7 +4956,7 @@ void fvWrite238UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get surface heat flux from 235U */ *dTmp = fd235UEnFlux(body, update, iBody); @@ -4983,7 +4983,7 @@ void fvWrite235UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteD235UNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = *(update[iBody].pdD235UNumManDt); if (output->bDoNeg[iBody]) { @@ -5009,7 +5009,7 @@ void fvWriteD235UNumDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWritedD235UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } /** @@ -5027,7 +5027,7 @@ void fvWritedD235UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = -1; } @@ -5047,7 +5047,7 @@ void fvWrite235UTimescale(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 235U */ *dTmp = -(*(update[iBody].pdD235UNumManDt)) * ENERGY235U; if (output->bDoNeg[iBody]) { @@ -5073,7 +5073,7 @@ void fvWrite235UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d235UNumMan * MASS235U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -5098,7 +5098,7 @@ void fvWrite235UMassMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d235UNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -5123,7 +5123,7 @@ void fvWrite235UNumMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 235U */ *dTmp = fd235UPowerCore(update, iBody); if (output->bDoNeg[iBody]) { @@ -5149,7 +5149,7 @@ void fvWrite235UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d235UNumCore * MASS235U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -5174,7 +5174,7 @@ void fvWrite235UMassCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].d235UNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -5199,7 +5199,7 @@ void fvWrite235UNumCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get total power from 235U */ *dTmp = fd235UPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { @@ -5225,7 +5225,7 @@ void fvWrite235UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d235UNumCrust * MASS235U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -5250,7 +5250,7 @@ void fvWrite235UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].d235UNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -5274,7 +5274,7 @@ void fvWrite235UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWrite235UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fd235UPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -5302,7 +5302,7 @@ void fvWrite235UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteRadPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Radiogenic Power Production in crust*/ *dTmp = fdRadPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { @@ -5328,7 +5328,7 @@ void fvWriteRadPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteRadPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Radiogenic Power Production in mantle*/ *dTmp = fdRadPowerMan(update, iBody); if (output->bDoNeg[iBody]) { @@ -5354,7 +5354,7 @@ void fvWriteRadPowerMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteRadPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Total Radiogenic Power Production in core*/ *dTmp = fdRadPowerCore(update, iBody); if (output->bDoNeg[iBody]) { @@ -5380,7 +5380,7 @@ void fvWriteRadPowerCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteRadPowerTotal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Total Radiogenic Power Production */ *dTmp = body[iBody].dRadPowerTotal; if (output->bDoNeg[iBody]) { @@ -5406,7 +5406,7 @@ void fvWriteRadPowerTotal(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteSurfEnFluxRadTotal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Radiogenic Surface Energy Flux */ *dTmp = fdSurfEnFluxRadTotal(body, system, update, iBody, iBody); if (output->bDoNeg[iBody]) { diff --git a/src/radheat.h b/src/radheat.h index f81e11b1d..27cda729d 100644 --- a/src/radheat.h +++ b/src/radheat.h @@ -441,134 +441,134 @@ void fvVerifyHaltRadheat(BODY *, CONTROL *, OPTIONS *, int, int *); #define OUT_SURFENFLUXRADTOTAL 1195 void fvWrite26AlPowerMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite26AlEnFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteD26AlPowerDt(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite26AlTimescale(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite26AlMassMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite26AlNumMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWrite26AlPowerCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite26AlMassCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite26AlNumCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KPowerMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KEnFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteD40KPowerDt(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KTimescale(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KMassMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWrite40KNumMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWrite40KPowerCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KMassCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KNumCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWrite40KPowerCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KMassCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite40KNumCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThPowerMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThEnFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteD232ThPowerDt(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThTimescale(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThMassMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThNumMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThPowerCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThMassCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThNumCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThPowerCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThMassCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite232ThNumCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UPowerMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UEnFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteD238UPowerDt(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UTimescale(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UMassMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UNumMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWrite238UPowerCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UMassCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UNumCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UPowerCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UMassCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite238UNumCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UPowerMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UEnFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteD235UPowerDt(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UTimescale(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UMassMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UNumMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWrite235UPowerCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UMassCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UNumCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UPowerCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UMassCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWrite235UNumCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteRadPowerMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteRadPowerCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteRadPowerCrust(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteRadPowerTotal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteRadEnFlux(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvHelpOutputRadheat(OUTPUT *); void fvInitializeOutputRadheat(OUTPUT *, fnWriteOutput[]); diff --git a/src/spinbody.c b/src/spinbody.c index 05cadee53..35a9dec46 100644 --- a/src/spinbody.c +++ b/src/spinbody.c @@ -891,49 +891,49 @@ void VerifyHaltSpiNBody(BODY *body, CONTROL *control, OPTIONS *options, void WritePositionX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dPositionX; strcpy(cUnit, ""); } void WritePositionY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dPositionY; strcpy(cUnit, ""); } void WritePositionZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dPositionZ; strcpy(cUnit, ""); } void WriteVelX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dVelX; strcpy(cUnit, ""); } void WriteVelY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dVelY; strcpy(cUnit, ""); } void WriteVelZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dVelZ; strcpy(cUnit, ""); } void WriteInclinationSpinBody(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dInc; if (output->bDoNeg[iBody]) { @@ -947,7 +947,7 @@ void WriteInclinationSpinBody(BODY *body, CONTROL *control, OUTPUT *output, void WriteLongASpinBody(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dLongA; if (output->bDoNeg[iBody]) { diff --git a/src/spinbody.h b/src/spinbody.h index 7999aa32e..8a4ba0dbc 100644 --- a/src/spinbody.h +++ b/src/spinbody.h @@ -106,28 +106,28 @@ void FinalizeUpdatePositionZSpiNBody(BODY *body, UPDATE *update, int *iEqn, void WritePositionX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]); + double *dTmp, char **cUnit); void WritePositionY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]); + double *dTmp, char **cUnit); void WritePositionZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]); + double *dTmp, char **cUnit); void WriteVelX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]); + char **cUnit); void WriteVelY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]); + char **cUnit); void WriteVelZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]); + char **cUnit); void WriteInclinationSpinBody(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]); + int iBody, double *dTmp, char **cUnit); void WriteLongASpinBody(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]); + double *dTmp, char **cUnit); void InitializeOutputSpiNBody(OUTPUT *output, fnWriteOutput fnWrite[]); int fbHaltMaxMutualIncSpiNBody(BODY *, EVOLVE *, HALT *, IO *, UPDATE *, diff --git a/src/stellar.c b/src/stellar.c index 3bbae058b..56fa80834 100644 --- a/src/stellar.c +++ b/src/stellar.c @@ -1259,7 +1259,7 @@ void VerifyHaltStellar(BODY *body, CONTROL *control, OPTIONS *options, void WriteLuminosity(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dLuminosity; if (output->bDoNeg[iBody]) { @@ -1273,7 +1273,7 @@ void WriteLuminosity(BODY *body, CONTROL *control, OUTPUT *output, void WriteTemperature(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dTemperature; // Kelvin only fsUnitsTemp(0, cUnit); @@ -1281,7 +1281,7 @@ void WriteTemperature(BODY *body, CONTROL *control, OUTPUT *output, void WriteLXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dLXUV; if (output->bDoNeg[iBody]) { @@ -1295,14 +1295,14 @@ void WriteLXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void WriteLXUVFrac(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dLXUV / body[iBody].dLuminosity; strcpy(cUnit, ""); } void WriteRossbyNumber(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dRotPer / fdCranmerSaar2011TauCZ(body[iBody].dTemperature); strcpy(cUnit, ""); @@ -1310,7 +1310,7 @@ void WriteRossbyNumber(BODY *body, CONTROL *control, OUTPUT *output, void WriteDRotPerDtStellar(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { double dDeriv; int iPert; diff --git a/src/stellar.h b/src/stellar.h index 8d0aeb19e..c00718755 100644 --- a/src/stellar.h +++ b/src/stellar.h @@ -129,17 +129,17 @@ void InitializeOutputFunctionStellar(OUTPUT *, int, int); void FinalizeOutputFunctionStellar(OUTPUT *, int, int); void WriteLuminosity(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteTemperature(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteLXUV(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void WriteLXUVFrac(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteRossbyNumber(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void WriteDRotPerDtStellar(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); /* Logging Functions */ void LogOptionsStellar(CONTROL *, FILE *); diff --git a/src/thermint.c b/src/thermint.c index 2762c068b..d279d8e9c 100644 --- a/src/thermint.c +++ b/src/thermint.c @@ -2118,7 +2118,7 @@ void fvVerifyHaltThermint(BODY *body, CONTROL *control, OPTIONS *options, */ void fvWriteTMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get TMan */ *dTmp = body[iBody].dTMan; if (output->bDoNeg[iBody]) { @@ -2146,7 +2146,7 @@ void fvWriteTMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteTUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get TUMan */ *dTmp = body[iBody].dTUMan; if (output->bDoNeg[iBody]) { @@ -2170,7 +2170,7 @@ void fvWriteTUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteTsolUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get TsolUMan */ *dTmp = body[iBody].dTsolUMan; if (output->bDoNeg[iBody]) { @@ -2194,7 +2194,7 @@ void fvWriteTsolUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *syste */ void fvWriteTLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get TLMan */ *dTmp = body[iBody].dTLMan; if (output->bDoNeg[iBody]) { @@ -2218,7 +2218,7 @@ void fvWriteTLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get TLMan */ *dTmp = body[iBody].dTJumpUMan; if (output->bDoNeg[iBody]) { @@ -2242,7 +2242,7 @@ void fvWriteTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get TLMan */ *dTmp = body[iBody].dTJumpLMan; if (output->bDoNeg[iBody]) { @@ -2266,7 +2266,7 @@ void fvWriteTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteSignTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get TLMan */ *dTmp = body[iBody].dSignTJumpUMan; if (output->bDoNeg[iBody]) { @@ -2290,7 +2290,7 @@ void fvWriteSignTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteSignTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { /* Get TLMan */ *dTmp = body[iBody].dSignTJumpLMan; if (output->bDoNeg[iBody]) { @@ -2314,7 +2314,7 @@ void fvWriteSignTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteTCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get TCore */ *dTmp = body[iBody].dTCMB; if (output->bDoNeg[iBody]) { @@ -2338,7 +2338,7 @@ void fvWriteTCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteTCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { /* Get TCore */ *dTmp = body[iBody].dTCore; if (output->bDoNeg[iBody]) { @@ -2362,7 +2362,7 @@ void fvWriteTCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteViscUManArr(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get ViscUManArr */ *dTmp = body[iBody].dViscUManArr; if (output->bDoNeg[iBody]) { @@ -2389,7 +2389,7 @@ void fvWriteViscUManArr(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteViscUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dViscUMan; if (output->bDoNeg[iBody]) { @@ -2416,7 +2416,7 @@ void fvWriteViscUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteDynamicViscosity(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = fdDynamicViscosity(body, iBody); if (output->bDoNeg[iBody]) { @@ -2442,7 +2442,7 @@ void fvWriteDynamicViscosity(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteViscLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dViscLMan; if (output->bDoNeg[iBody]) { @@ -2469,7 +2469,7 @@ void fvWriteViscLMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteViscMMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dViscMMan; if (output->bDoNeg[iBody]) { @@ -2496,7 +2496,7 @@ void fvWriteViscMMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteViscJumpMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get TLMan */ *dTmp = body[iBody].dViscJumpMan; if (output->bDoNeg[iBody]) { @@ -2520,7 +2520,7 @@ void fvWriteViscJumpMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteBLUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dBLUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2543,7 +2543,7 @@ void fvWriteBLUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteBLLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dBLLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2566,7 +2566,7 @@ void fvWriteBLLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteShmodUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dShmodUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2589,7 +2589,7 @@ void fvWriteShmodUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteFMeltUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dFMeltUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2612,7 +2612,7 @@ void fvWriteFMeltUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteFMeltLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dFMeltLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2635,7 +2635,7 @@ void fvWriteFMeltLMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteMeltfactorUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dMeltfactorUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2658,7 +2658,7 @@ void fvWriteMeltfactorUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteMeltfactorLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dMeltfactorLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2681,7 +2681,7 @@ void fvWriteMeltfactorLMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dDepthMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2704,7 +2704,7 @@ void fvWriteDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteTDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dTDepthMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2727,7 +2727,7 @@ void fvWriteTDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteTJumpMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dTJumpMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2750,7 +2750,7 @@ void fvWriteTJumpMeltMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteMeltMassFluxMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dMeltMassFluxMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2773,7 +2773,7 @@ void fvWriteMeltMassFluxMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteRayleighMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dRayleighMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2796,7 +2796,7 @@ void fvWriteRayleighMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteEruptEff(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dEruptEff; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2820,7 +2820,7 @@ void fvWriteEruptEff(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteRIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dRIC; if (output->bDoNeg[iBody]) { @@ -2844,7 +2844,7 @@ void fvWriteRIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteDRICDTCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dDRICDTCMB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2867,7 +2867,7 @@ void fvWriteDRICDTCMB(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteChiOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dChiOC; // *dTmp = body[iBody].dRIC; if (output->bDoNeg[iBody]) { @@ -2891,7 +2891,7 @@ void fvWriteChiOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteChiIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dChiIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2914,7 +2914,7 @@ void fvWriteChiIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteMassOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dMassOC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2937,7 +2937,7 @@ void fvWriteMassOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteMassIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dMassIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2960,7 +2960,7 @@ void fvWriteMassIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteMassChiOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dMassChiOC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -2983,7 +2983,7 @@ void fvWriteMassChiOC(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteMassChiIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dMassChiIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3006,7 +3006,7 @@ void fvWriteMassChiIC(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteDTChi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dDTChi; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3029,7 +3029,7 @@ void fvWriteDTChi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteThermConductOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dThermConductOC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3052,7 +3052,7 @@ void fvWriteThermConductOC(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteCoreBuoyTherm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dCoreBuoyTherm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3075,7 +3075,7 @@ void fvWriteCoreBuoyTherm(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteCoreBuoyCompo(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dCoreBuoyCompo; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3098,7 +3098,7 @@ void fvWriteCoreBuoyCompo(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteCoreBuoyTotal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dCoreBuoyTotal; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3121,7 +3121,7 @@ void fvWriteCoreBuoyTotal(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteGravICB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dGravICB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3144,7 +3144,7 @@ void fvWriteGravICB(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteMagMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dMagMom; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3167,7 +3167,7 @@ void fvWriteMagMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWriteRICDot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, - char cUnit[]) { + char **cUnit) { *dTmp = body[iBody].dRICDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3190,7 +3190,7 @@ void fvWriteRICDot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, */ void fvWritePresSWind(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dPresSWind; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3213,7 +3213,7 @@ void fvWritePresSWind(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteMagPauseRad(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dMagPauseRad; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3238,7 +3238,7 @@ void fvWriteMagPauseRad(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHfluxUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHfluxUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3261,7 +3261,7 @@ void fvWriteHfluxUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHfluxLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHfluxLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3284,7 +3284,7 @@ void fvWriteHfluxLMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHfluxCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHfluxCMB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3307,7 +3307,7 @@ void fvWriteHfluxCMB(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHfluxCMBAd(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHfluxCMBAd; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3330,7 +3330,7 @@ void fvWriteHfluxCMBAd(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHfluxCMBConv(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dHfluxCMBConv; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3353,7 +3353,7 @@ void fvWriteHfluxCMBConv(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3376,7 +3376,7 @@ void fvWriteHflowUMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowSurf(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowSurf; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3399,7 +3399,7 @@ void fvWriteHflowSurf(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3422,7 +3422,7 @@ void fvWriteHflowLMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowCMB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3445,7 +3445,7 @@ void fvWriteHflowCMB(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowLatentMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowLatentMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3468,7 +3468,7 @@ void fvWriteHflowLatentMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3491,7 +3491,7 @@ void fvWriteHflowMeltMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowSecMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowSecMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3515,7 +3515,7 @@ void fvWriteHflowSecMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteHflowLatentIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, - int iBody, double *dTmp, char cUnit[]) { + int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dHflowLatentIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3538,7 +3538,7 @@ void fvWriteHflowLatentIC(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWritePowerGravIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dPowerGravIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; @@ -3561,7 +3561,7 @@ void fvWritePowerGravIC(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteTDotMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get TDotMan */ *dTmp = (*(update[iBody].pdTDotMan)); if (output->bDoNeg[iBody]) { @@ -3591,7 +3591,7 @@ void fvWriteTDotMan(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteTDotCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { /* Get TDotCore */ *dTmp = (*(update[iBody].pdTDotCore)); if (output->bDoNeg[iBody]) { @@ -3622,7 +3622,7 @@ void fvWriteTDotCore(BODY *body, CONTROL *control, OUTPUT *output, */ void fvWriteTrefLind(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, - double *dTmp, char cUnit[]) { + double *dTmp, char **cUnit) { *dTmp = body[iBody].dTrefLind; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; diff --git a/src/thermint.h b/src/thermint.h index 23838a68f..4e17a884f 100644 --- a/src/thermint.h +++ b/src/thermint.h @@ -592,133 +592,133 @@ void fvInitializeOutputFunctionThermint(OUTPUT *, int, int); void fvFinalizeOutputFunctionThermint(OUTPUT *, int, int); void fvWriteTMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteTUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteTsolUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteTLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteTJumpUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteTJumpLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteSignTJumpUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteSignTJumpLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteTCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteTCMB(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteTICB(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteBLUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteBLLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteViscUManArr(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteViscUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteViscLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteViscMMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteShmodUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteShmodLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteFMeltUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteFMeltLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteMeltfactorUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteMeltfactorLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteDepthMeltMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteTDepthMeltMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteTJumpMeltMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteMeltMassFluxMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteRayleighMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteTDotMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteTDotCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteHfluxUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteHflowUMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteHflowSecMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteHfluxLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteHflowLMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteHflowTidalMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteHflowTidalCore(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteHflowLatentMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteHflowMeltMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteHflowLatentIC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWritePowerGravIC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteHflowICB(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteHflowSurf(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteTidalPowMan(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteRIC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteDRICDTCMB(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteChiOC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteChiIC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteMassOC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteMassIC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteMassChiOC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteMassChiIC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteDTChi(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, int, - double *, char[]); + double *, char**); void fvWriteThermConductOC(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteHfluxCMBAd(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteHfluxCMBConv(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteCoreBuoyTherm(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteCoreBuoyCompo(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteCoreBuoyTotal(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); void fvWriteGravICB(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteRICDot(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteMagMom(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWritePresSWind(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, UPDATE *, - int, double *, char[]); + int, double *, char**); void fvWriteMagPauseRad(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); /* Logging Functions */ void fvLogOptionsThermint(CONTROL *, FILE *); void fvLogThermint(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UPDATE *, diff --git a/src/vplanet.h b/src/vplanet.h index 6e0c527cb..31c74509a 100644 --- a/src/vplanet.h +++ b/src/vplanet.h @@ -1992,7 +1992,7 @@ struct OUTPUT { typedef void (*fnReadOption)(BODY *, CONTROL *, FILES *, OPTIONS *, SYSTEM *, int); typedef void (*fnWriteOutput)(BODY *, CONTROL *, OUTPUT *, SYSTEM *, UNITS *, - UPDATE *, int, double *, char[]); + UPDATE *, int, double *, char**); /* From 33272aa0db7dd162137a26c076d1dd570584679c Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 6 Aug 2024 15:40:36 -0700 Subject: [PATCH 15/31] Finished removing all instances of stcpy, strcat, and sprintf. Code compiles but is untested. --- src/control.c | 156 +++++++++++++++++++++++++++++++------------------ src/control.h | 1 + src/distorb.c | 2 +- src/eqtide.c | 32 +++++----- src/flare.c | 4 +- src/module.c | 4 +- src/options.c | 32 +++++----- src/options.h | 2 +- src/output.c | 139 ++++++++++++++++++++++--------------------- src/poise.c | 113 +++++++++++++++++------------------ src/radheat.c | 124 +++++++++++++++++++-------------------- src/spinbody.c | 16 ++--- src/stellar.c | 12 ++-- src/thermint.c | 128 ++++++++++++++++++++-------------------- src/verify.c | 4 +- src/vplanet.c | 5 +- src/vplanet.h | 2 +- 17 files changed, 415 insertions(+), 361 deletions(-) diff --git a/src/control.c b/src/control.c index d4dc71098..75d7250d4 100644 --- a/src/control.c +++ b/src/control.c @@ -1013,34 +1013,57 @@ void fsUnitsAngMom(UNITS *units, char **cUnit) { free(cUnitMass); free(cUnitLength); free(cUnitTime); - } void fsUnitsDensity(UNITS *units, char **cUnit) { - char cTmp[OPTLEN]; + char *cUnitMass=NULL,*cUnitLength=NULL; - fsUnitsMass(units->iMass, cUnit); - strcat(cUnit, "/"); - fsUnitsLength(units->iLength, cTmp); - strcat(cUnit, cTmp); - strcat(cUnit, "^3"); + // fsUnitsMass(units->iMass, cUnit); + // strcat(cUnit, "/"); + // fsUnitsLength(units->iLength, cTmp); + // strcat(cUnit, cTmp); + // strcat(cUnit, "^3"); + fsUnitsMass(units->iMass, &cUnitMass); + fsUnitsLength(units->iLength, &cUnitLength); + fvFormattedString(cUnit,cUnitMass,"/",cUnitLength,"^3"); + free(cUnitMass); + free(cUnitLength); } void fsUnitsVel(UNITS *units, char **cUnit) { - char cTmp[OPTLEN]; + char *cUnitLength=NULL,*cUnitTime=NULL; - fsUnitsLength(units->iLength, cUnit); - strcat(cUnit, "/"); - fsUnitsTime(units->iTime, cTmp); - strcat(cUnit, cTmp); + // fsUnitsLength(units->iLength, cUnit); + // strcat(cUnit, "/"); + // fsUnitsTime(units->iTime, cTmp); + // strcat(cUnit, cTmp); + fsUnitsLength(units->iLength, &cUnitLength); + fsUnitsTime(units->iTime, &cUnitTime); + fvFormattedString(cUnit,cUnitLength,"/",cUnitTime); + free(cUnitTime); + free(cUnitLength); } void fsUnitsRate(int iType, char **cUnit) { - char cTmp[OPTLEN]; + char *cUnitTime=NULL; - fvFormattedString(&cUnit, "/"); - fsUnitsTime(iType, cTmp); - strcat(cUnit, cTmp); + // fvFormattedString(&cUnit, "/"); + // fsUnitsTime(iType, cTmp); + // strcat(cUnit, cTmp); + fsUnitsTime(iType, &cUnitTime); + fvFormattedString(cUnit,"/",cUnitTime); + free(cUnitTime); +} + +void fsUnitsRateSquared(int iType, char **cUnit) { + char *cUnitTime=NULL; + + // fvFormattedString(&cUnit, "/"); + // fsUnitsTime(iType, cTmp); + // strcat(cUnit, cTmp); + fsUnitsTime(iType, &cUnitTime); + fvFormattedString(cUnit,"/",cUnitTime,"^2"); + free(cUnitTime); } /* double fdUnitsRate(int iTime) { @@ -1049,25 +1072,38 @@ void fsUnitsRate(int iType, char **cUnit) { void fsUnitsAngRate(UNITS *units, char **cUnit) { - char cTmp[OPTLEN]; + char *cUnitAngle=NULL,*cUnitTime=NULL; - fsUnitsAngle(units->iAngle, cUnit); - strcat(cUnit, "/"); - fsUnitsTime(units->iTime, cTmp); - strcat(cUnit, cTmp); + // fsUnitsAngle(units->iAngle, cUnit); + // strcat(cUnit, "/"); + // fsUnitsTime(units->iTime, cTmp); + // strcat(cUnit, cTmp); + fsUnitsAngle(units->iAngle, &cUnitAngle); + fsUnitsTime(units->iTime, &cUnitTime); + fvFormattedString(cUnit,cUnitAngle,"/",cUnitTime); + free(cUnitTime); + free(cUnitAngle); } void fsUnitsEnergy(UNITS *units, char **cUnit) { - char cTmp[OPTLEN]; - - fsUnitsMass(units->iMass, cUnit); - strcat(cUnit, "*"); - fsUnitsLength(units->iLength, cTmp); - strcat(cUnit, cTmp); - strcat(cUnit, "^2/"); - fsUnitsTime(units->iTime, cTmp); - strcat(cUnit, cTmp); - strcat(cUnit, "^2"); + char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + + fsUnitsMass(units->iMass, &cUnitMass); + fsUnitsLength(units->iLength, &cUnitLength); + fsUnitsTime(units->iTime, &cUnitTime); + + // fsUnitsMass(units->iMass, cUnit); + // strcat(cUnit, "*"); + // fsUnitsLength(units->iLength, cTmp); + // strcat(cUnit, cTmp); + // strcat(cUnit, "^2/"); + // fsUnitsTime(units->iTime, cTmp); + // strcat(cUnit, cTmp); + // strcat(cUnit, "^2"); + fvFormattedString(cUnit,cUnitMass,"*",cUnitLength,"^2/",cUnitTime,"^2"); + free(cUnitMass); + free(cUnitLength); + free(cUnitTime); } double fdUnitsEnergy(int iTime, int iMass, int iLength) { @@ -1077,16 +1113,24 @@ double fdUnitsEnergy(int iTime, int iMass, int iLength) { } void fsUnitsPower(UNITS *units, char **cUnit) { - char cTmp[OPTLEN]; - - fsUnitsMass(units->iMass, cUnit); - strcat(cUnit, "*"); - fsUnitsLength(units->iLength, cTmp); - strcat(cUnit, cTmp); - strcat(cUnit, "^2/"); - fsUnitsTime(units->iTime, cTmp); - strcat(cUnit, cTmp); - strcat(cUnit, "^3"); + char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + + fsUnitsMass(units->iMass, &cUnitMass); + fsUnitsLength(units->iLength, &cUnitLength); + fsUnitsTime(units->iTime, &cUnitTime); + + // fsUnitsMass(units->iMass, cUnit); + // strcat(cUnit, "*"); + // fsUnitsLength(units->iLength, cTmp); + // strcat(cUnit, cTmp); + // strcat(cUnit, "^2/"); + // fsUnitsTime(units->iTime, cTmp); + // strcat(cUnit, cTmp); + // strcat(cUnit, "^3"); + fvFormattedString(cUnit,cUnitMass,"*",cUnitLength,"^2/",cUnitTime,"^3"); + free(cUnitMass); + free(cUnitLength); + free(cUnitTime); } double fdUnitsPower(int iTime, int iMass, int iLength) { @@ -1095,16 +1139,21 @@ double fdUnitsPower(int iTime, int iMass, int iLength) { } void fsUnitsEnergyFlux(UNITS *units, char **cUnit) { - char cTmp[OPTLEN]; - - fsUnitsEnergy(units, cUnit); - strcat(cUnit, "/("); - fsUnitsLength(units->iLength, cTmp); - strcat(cUnit, cTmp); - strcat(cUnit, "^2*"); - fsUnitsTime(units->iTime, cTmp); - strcat(cUnit, cTmp); - strcat(cUnit, ")"); + char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + + fsUnitsMass(units->iMass, &cUnitMass); + fsUnitsLength(units->iLength, &cUnitLength); + fsUnitsTime(units->iTime, &cUnitTime); + + // fsUnitsEnergy(units, cUnit); + // strcat(cUnit, "/("); + // fsUnitsLength(units->iLength, cTmp); + // strcat(cUnit, cTmp); + // strcat(cUnit, "^2*"); + // fsUnitsTime(units->iTime, cTmp); + // strcat(cUnit, cTmp); + // strcat(cUnit, ")"); + fvFormattedString(cUnit,cUnitMass,"/",cUnitTime,"^3"); } double fdUnitsEnergyFlux(int iTime, int iMass, int iLength) { @@ -1198,9 +1247,4 @@ void InfileCopy(INFILE *dest, INFILE *src) { for (iLine = 0; iLine < src->iNumLines; iLine++) { dest->bLineOK[iLine] = src->bLineOK[iLine]; } - - /* PHOTOCHEM fields - strcpy(dest->cSpecies,src->cSpecies); - strcpy(dest->cReactions,src->cReactions); - */ } diff --git a/src/control.h b/src/control.h index beb49f434..d80b8eac8 100644 --- a/src/control.h +++ b/src/control.h @@ -36,6 +36,7 @@ double fdUnitsAngle(int); double fdUnitsPower(int, int, int); double fdUnitsEnergy(int, int, int); double fdUnitsEnergyFlux(int, int, int); +void fsUnitsRateSquared(int, char **); // double fdUnitsRate(int); void fsUnitsLength(int, char**); diff --git a/src/distorb.c b/src/distorb.c index f2a8f22ff..08103523c 100644 --- a/src/distorb.c +++ b/src/distorb.c @@ -1976,7 +1976,7 @@ else if (body[iBody].bGalHabit) { *dTmp = body[iBody].dLongA; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit,output->cNeg); + fvFormattedString(cUnit,output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle,cUnit); diff --git a/src/eqtide.c b/src/eqtide.c index 1a77c2f52..ce531c803 100644 --- a/src/eqtide.c +++ b/src/eqtide.c @@ -613,11 +613,11 @@ void ReadTidePerts(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile) { int iBody, iNumIndices = 0, iNumLines = 0; int *lTmp; - char saTmp[MAXARRAY][OPTLEN]; + char **saTmp; lTmp = malloc(MAXLINES * sizeof(int)); - AddOptionStringArray(files->Infile[iFile].cIn, options->cName, saTmp, + AddOptionStringArray(files->Infile[iFile].cIn, options->cName, &saTmp, &iNumIndices, &iNumLines, lTmp, control->Io.iVerbose); if (lTmp[0] >= 0) { NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp[0], @@ -2294,7 +2294,7 @@ void WriteBodyDsemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit,output->cNeg); + fvFormattedString(cUnit,output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime)/fdUnitsLength(units->iLength); fsUnitsVel(units,cUnit); @@ -2326,7 +2326,7 @@ void WriteBodyDeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit,output->cNeg); + fvFormattedString(cUnit,output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime,cUnit); @@ -2461,8 +2461,7 @@ void WriteDMeanMotionDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); - fsUnitsRate(units->iTime, cUnit); - strcat(cUnit, "^2"); + fsUnitsRateSquared(units->iTime, cUnit); } } @@ -2478,7 +2477,7 @@ void WriteDOrbPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - fvFormattedString(&cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fvFormattedString(cUnit, "%s", ""); @@ -2503,7 +2502,7 @@ void WriteDRotPerDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } } @@ -2526,8 +2525,7 @@ void WriteDRotRateDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) * fdUnitsTime(units->iTime); - fsUnitsRate(units->iTime, cUnit); - strcat(cUnit, "^2"); + fsUnitsRateSquared(units->iTime, cUnit); } } @@ -2833,7 +2831,7 @@ void WriteGammaOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = -1; /* Negative option? */ - strcat(cUnit, "sec"); + fsUnitsTime(units->iTime,cUnit); } void WriteGammaRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2849,7 +2847,7 @@ void WriteGammaRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = -1; /* Negative option? */ - strcat(cUnit, "sec"); + fsUnitsTime(units->iTime,cUnit); } void WriteK2Ocean(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2858,7 +2856,7 @@ void WriteK2Ocean(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dK2Ocean; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteK2Env(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2867,7 +2865,7 @@ void WriteK2Env(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dK2Env; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteOblTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, @@ -2883,14 +2881,14 @@ void WriteOblTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit,output->cNeg); + fvFormattedString(cUnit,output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime,cUnit); } */ *dTmp = -1; - fvFormattedString(&cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteRotTimescaleEqtide(BODY *body, CONTROL *control, OUTPUT *output, @@ -2992,7 +2990,7 @@ void WriteTideLock(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = control->Evolve.bForceEqSpin[iBody]; - strcat(cUnit, ""); + fvFormattedString(cUnit, ""); } void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { diff --git a/src/flare.c b/src/flare.c index c35ddb651..af6f14de1 100644 --- a/src/flare.c +++ b/src/flare.c @@ -1018,7 +1018,7 @@ void WriteLXUVFlareUpper(BODY *body, *dTmp = body[iBody].dLXUVFlareUpper; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -1038,7 +1038,7 @@ void WriteLXUVFlareLower(BODY *body, *dTmp = body[iBody].dLXUVFlareLower; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); diff --git a/src/module.c b/src/module.c index 5eddcdc5c..eadd53006 100644 --- a/src/module.c +++ b/src/module.c @@ -688,11 +688,11 @@ void ReadModules(BODY *body, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iFile) { int iNumIndices = 0, iNumLines = 0, iModule; int *lTmp; - char saTmp[MAXARRAY][OPTLEN]; + char **saTmp; lTmp = malloc(MAXLINES * sizeof(int)); - AddOptionStringArray(files->Infile[iFile].cIn, options->cName, saTmp, + AddOptionStringArray(files->Infile[iFile].cIn, options->cName, &saTmp, &iNumIndices, &iNumLines, lTmp, control->Io.iVerbose); if (lTmp[0] >= 0) { NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp[0], diff --git a/src/options.c b/src/options.c index 03a7a3ff9..379c4c9da 100644 --- a/src/options.c +++ b/src/options.c @@ -249,15 +249,13 @@ double dNegativeDouble(OPTIONS options, char cFile[], int iVerbose) { unchanged. */ void AddOptionStringArray(char *cFile, char *cOption, - char saInput[MAXARRAY][OPTLEN], int *iNumIndices, + char ***saInput, int *iNumIndices, int *iNumLines, int *iLine, int iVerbose) { char *cLine, cTmp[MAXARRAY][OPTLEN]; int iPos, iWord, bContinue, iNumWords; FILE *fp; - //memset(cLine, '\0', LINE); - - /* iLine=malloc(MAXLINES*sizeof(int)); */ + *saInput = malloc(MAXARRAY*sizeof(char*)); iLine[0] = -1; @@ -276,8 +274,10 @@ void AddOptionStringArray(char *cFile, char *cOption, *iNumLines = 1; for (iWord = 0; iWord < iNumWords - 1; iWord++) { - memset(saInput[iWord], '\0', OPTLEN); - strcpy(saInput[iWord], cTmp[iWord + 1]); + *saInput[iWord] = NULL; + //memset(saInput[iWord], '\0', OPTLEN); + + fvFormattedString(saInput[iWord], cTmp[iWord + 1]); /* Reset cTmp string: If the next time cTmp is filled, the new string is longer than the old, then vestigial characters can remain after a trailing $. */ @@ -295,7 +295,7 @@ void AddOptionStringArray(char *cFile, char *cOption, if (memcmp(cLine, "null", 4)) { GetWords(cLine, cTmp, &iNumWords, &bContinue); for (iWord = 0; iWord < iNumWords; iWord++) { - strcpy(saInput[*iNumIndices + iWord], cTmp[iWord]); + fvFormattedString(saInput[*iNumIndices + iWord], cTmp[iWord]); memset(cTmp[iWord], '\0', OPTLEN); } *iNumIndices += iNumWords; @@ -321,12 +321,12 @@ void AddOptionDoubleArray(char *cFile, char *cOption, double *daInput, int *iNumIndices, int *iNumLines, int *iLine, int iVerbose) { int iIndex; - char cTmp[MAXARRAY][OPTLEN]; + char **saTmp; - AddOptionStringArray(cFile, cOption, cTmp, iNumIndices, iNumLines, iLine, + AddOptionStringArray(cFile, cOption, &saTmp, iNumIndices, iNumLines, iLine, iVerbose); for (iIndex = 0; iIndex < *iNumIndices; iIndex++) { - daInput[iIndex] = atof(cTmp[iIndex]); + daInput[iIndex] = atof(saTmp[iIndex]); } } @@ -1126,11 +1126,11 @@ void ReadBodyFileNames(CONTROL *control, FILES *files, OPTIONS *options, INFILE *infile) { int iIndex, iNumIndices = 0, iNumLines = 0; int *lTmp; - char saTmp[MAXARRAY][OPTLEN]; + char **saTmp; lTmp = malloc(MAXLINES * sizeof(int)); - AddOptionStringArray(infile->cIn, options->cName, saTmp, &iNumIndices, + AddOptionStringArray(infile->cIn, options->cName, &saTmp, &iNumIndices, &iNumLines, lTmp, control->Io.iVerbose); if (lTmp[0] >= 0) { @@ -2662,7 +2662,7 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 1, iNumGrid = 0; int k, iOut = -1, *lTmp, iCol, jCol; - char saTmp[MAXARRAY][OPTLEN], *cTmp=NULL, **cOption, + char **saTmp, *cTmp=NULL, **cOption, *cOut; int iLen1, iLen2; @@ -2670,7 +2670,7 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, cOption = malloc(MAXARRAY*sizeof(char*)); AddOptionStringArray(files->Infile[iFile].cIn, options[OPT_OUTPUTORDER].cName, - saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, + &saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, lTmp, iVerbose); if (lTmp[0] >= 0) { @@ -2868,14 +2868,14 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 0, iNumGrid = 0; int k, iOut = -1, *lTmp; - char saTmp[MAXARRAY][OPTLEN], *cTmp, **cOption, *cOut; + char **saTmp, *cTmp, **cOption, *cOut; int iLen1, iLen2; lTmp = malloc(MAXLINES * sizeof(int)); cOption = malloc(MAXARRAY*sizeof(char*)); AddOptionStringArray(files->Infile[iFile].cIn, options[OPT_GRIDOUTPUT].cName, - saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, + &saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, lTmp, iVerbose); if (lTmp[0] >= 0) { diff --git a/src/options.h b/src/options.h index f300bd90f..c4a5eb403 100644 --- a/src/options.h +++ b/src/options.h @@ -126,7 +126,7 @@ void ReadOptions(BODY **, CONTROL *, FILES *, MODULE *, OPTIONS *, OUTPUT *, SYSTEM *, UPDATE **, fnReadOption *, char[]); double dNegativeDouble(OPTIONS, char[], int); -void AddOptionStringArray(char[], char[], char[MAXARRAY][OPTLEN], int *, int *, +void AddOptionStringArray(char[], char[], char***, int *, int *, int *, int); void AddOptionDoubleArray(char[], char[], double *, int *, int *, int *, int); void NotPrimaryInput(int, char[], char[], int, int); diff --git a/src/output.c b/src/output.c index 754900e3f..5a4bf4e6a 100644 --- a/src/output.c +++ b/src/output.c @@ -19,7 +19,7 @@ void WriteAge(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dAge; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -35,7 +35,7 @@ void WriteBodyType(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].iBodyType; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } /* @@ -49,7 +49,7 @@ void WriteCOPP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dEcc * sin(body[iBody].dLongP + body[iBody].dPrecA) * sin(body[iBody].dObliquity); - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } /* Critical Semi-major Axis (Holman & Wiegert, 1999 for P-type circumbinary @@ -75,7 +75,7 @@ void WriteCriticalSemi(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -106,7 +106,7 @@ void WriteDeltaTime(BODY *body, CONTROL *control, OUTPUT *output, } if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -121,7 +121,7 @@ void WriteDensity(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= pow(fdUnitsLength(units->iLength), 3) / fdUnitsMass(units->iMass); fsUnitsDensity(units, cUnit); @@ -138,7 +138,7 @@ void WriteHecc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dHecc; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } /************* HABITABLE ZONE LIMITS ***********/ @@ -166,7 +166,7 @@ void WriteHZLimitDryRunaway(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -205,7 +205,7 @@ void WriteHZLimitRecentVenus(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = daHZLimits[0]; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -236,7 +236,7 @@ void WriteHZLimitRunawayGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = daHZLimits[1]; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -266,7 +266,7 @@ void WriteHZLimitMoistGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = daHZLimits[2]; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -296,7 +296,7 @@ void WriteHZLimitMaxGreenhouse(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = daHZLimits[3]; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -326,7 +326,7 @@ void WriteHZLimitEarlyMars(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = daHZLimits[4]; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -349,7 +349,7 @@ void WriteBodyInc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -377,7 +377,7 @@ void WriteInstellation(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -397,7 +397,7 @@ void WriteK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dK2Man; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } } else { *dTmp = -1; @@ -410,10 +410,10 @@ void WriteImK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (body[iBody].bEqtide) { *dTmp = body[iBody].dImK2Man; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } } else { *dTmp = -1; @@ -425,7 +425,7 @@ void WriteKecc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dKecc; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } /* @@ -450,7 +450,7 @@ void WriteBodyLongA(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -467,7 +467,7 @@ void WriteLongP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -484,7 +484,7 @@ void WriteLongP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -510,7 +510,7 @@ void WriteBodyArgP(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -541,7 +541,7 @@ void WriteLXUVTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -559,7 +559,7 @@ void WriteMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dMass; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -579,7 +579,7 @@ void WriteObliquity(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -604,7 +604,7 @@ void WriteBodyPrecA(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -628,7 +628,7 @@ void WriteOrbAngMom(BODY *body, CONTROL *control, OUTPUT *output, } if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / (fdUnitsMass(units->iMass) * fdUnitsLength(units->iLength) * @@ -660,7 +660,7 @@ void WriteOrbEcc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = -1; } } - fvFormattedString(&cUnit, "%s", ""); + fvFormattedString(cUnit, "%s", ""); } // XXX This function doesn't work! @@ -674,7 +674,7 @@ void WriteLostEng(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { double dConversion = fdUnitsEnergy(units->iTime, units->iMass, units->iLength); *dTmp /= dConversion; @@ -690,7 +690,7 @@ void WriteOrbEnergy(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -717,7 +717,7 @@ void WriteOrbMeanMotion(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -750,7 +750,7 @@ void WriteOrbPeriod(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -779,7 +779,7 @@ void WriteOrbSemi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -797,7 +797,7 @@ void WriteRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dRadius; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -820,7 +820,7 @@ void WriteRotAngMom(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / (fdUnitsMass(units->iMass) * fdUnitsLength(units->iLength) * @@ -837,7 +837,7 @@ void WriteRotKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, body[iBody].dRadGyra, body[iBody].dRotRate); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -851,7 +851,7 @@ void WriteRotRate(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dRotRate; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -865,7 +865,7 @@ void WriteRotPer(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = fdFreqToPer(body[iBody].dRotRate); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -879,7 +879,7 @@ void WriteRotVel(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = fdRotVel(body[iBody].dRadius, body[iBody].dRotRate); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / fdUnitsLength(units->iLength); fsUnitsVel(units, cUnit); @@ -936,7 +936,7 @@ void WriteSurfaceEnergyFlux(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -973,7 +973,7 @@ void WriteTidalQ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = -1; } - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } @@ -987,7 +987,7 @@ void WriteTidalQMantle(BODY *body, CONTROL *control, OUTPUT *output, } else { *dTmp = -1; } - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -997,7 +997,7 @@ void WriteTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = control->Evolve.iDir * control->Evolve.dTime; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsTime(units->iTime); fsUnitsTime(units->iTime, cUnit); @@ -1012,7 +1012,7 @@ void WriteTotAngMom(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / (fdUnitsMass(units->iMass) * fdUnitsLength(units->iLength) * @@ -1029,7 +1029,7 @@ void WriteLostAngMom(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime) / (fdUnitsMass(units->iMass) * fdUnitsLength(units->iLength) * @@ -1046,7 +1046,7 @@ void WriteTotEnergy(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1061,7 +1061,7 @@ void WritePotEnergy(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1076,7 +1076,7 @@ void WriteKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1091,7 +1091,7 @@ void WriteOrbKinEnergy(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1110,7 +1110,7 @@ void WriteOrbPotEnergy(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1124,7 +1124,7 @@ void WriteTotOrbEnergy(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); fsUnitsEnergy(units, cUnit); @@ -1141,7 +1141,7 @@ void WriteImK2(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } else { *dTmp = -1; } - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteK2(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1153,7 +1153,7 @@ void WriteK2(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } else { *dTmp = body[iBody].dK2; } - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteXobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1161,7 +1161,7 @@ void WriteXobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dXobl; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteYobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1169,7 +1169,7 @@ void WriteYobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dYobl; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteZobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1177,7 +1177,7 @@ void WriteZobl(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dZobl; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteMeanAnomaly(BODY *body, CONTROL *control, OUTPUT *output, @@ -1188,7 +1188,7 @@ void WriteMeanAnomaly(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMeanA; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -1212,7 +1212,7 @@ void WriteMeanLongitude(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2008,10 +2008,11 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp, int iBody) { int iCol, iOut, iSubOut, iExtra = 0; - char cCol[MODULEOUTEND][OUTLEN+2]; // +2 for brackets + char **cCol; // +2 for brackets double *dTmp; char *cUnit=NULL, *cTmp; + cCol=malloc(MODULEOUTEND*sizeof(char*)); for (iCol = 0; iCol < files->Outfile[iBody].iNumCols; iCol++) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { if (memcmp(files->Outfile[iBody].caCol[iCol], output[iOut].cName, @@ -2021,10 +2022,11 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, fnWrite[iOut](body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, &cUnit); for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { - strcpy(cCol[iCol + iSubOut + iExtra], + cCol[iCol + iSubOut + iExtra]=NULL; + fvFormattedString(&cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caCol[iCol]); fvFormattedString(&cTmp, "[%s]", cUnit); - strcat(cCol[iCol + iSubOut + iExtra], cTmp); + fvFormattedString(cCol[iCol + iSubOut + iExtra], cTmp); } iExtra += (output[iOut].iNum - 1); free(dTmp); @@ -2037,16 +2039,18 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, fprintf(fp, " %s", cCol[iCol]); } fprintf(fp, "\n"); + free(cCol); } void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp, int iBody) { int iCol, iOut, iSubOut, iExtra = 0; - char cCol[MODULEOUTEND][OUTLEN+2]; // +2 for brackets + char **cCol; // +2 for brackets double *dTmp; char *cUnit=NULL, *cTmp; + cCol=malloc(MODULEOUTEND*sizeof(char*)); for (iCol = 0; iCol < files->Outfile[iBody].iNumGrid; iCol++) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { if (memcmp(files->Outfile[iBody].caGrid[iCol], output[iOut].cName, @@ -2056,10 +2060,11 @@ void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, fnWrite[iOut](body, control, &output[iOut], system, &control->Units[iBody], update, iBody, dTmp, &cUnit); for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { - strcpy(cCol[iCol + iSubOut + iExtra], + cCol[iCol + iSubOut + iExtra]=NULL; + fvFormattedString(&cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caGrid[iCol]); fvFormattedString(&cTmp, "[%s]", cUnit); - strcat(cCol[iCol + iSubOut + iExtra], cTmp); + fvFormattedString(cCol[iCol + iSubOut + iExtra], cTmp); } iExtra += (output[iOut].iNum - 1); free(dTmp); @@ -2073,6 +2078,7 @@ void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, fprintf(fp, " %s", cCol[iCol]); } fprintf(fp, "\n"); + free(cCol); } void LogOptions(CONTROL *control, FILES *files, MODULE *module, SYSTEM *system, @@ -2450,6 +2456,9 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, } } } + free(cUnit); + free(cPoiseGrid); + free(cLaplaceFunc); } void InitializeOutput(FILES *files, OUTPUT *output, fnWriteOutput fnWrite[]) { diff --git a/src/poise.c b/src/poise.c index c9538308f..eb0230cee 100644 --- a/src/poise.c +++ b/src/poise.c @@ -140,14 +140,15 @@ void ReadFileOrbitOblData(BODY *body, CONTROL *control, FILES *files, AddOptionString(files->Infile[iFile].cIn, options->cName, cTmp, &lTmp, control->Io.iVerbose); + body[iFile - 1].sFileOrbitOblData=NULL; if (lTmp >= 0) { /* Cannot exist in primary input file -- Each body has an output file */ NotPrimaryInput(iFile, options->cName, files->Infile[iFile].cIn, lTmp, control->Io.iVerbose); - strcpy(body[iFile - 1].sFileOrbitOblData, cTmp); + fvFormattedString(&body[iFile - 1].sFileOrbitOblData, cTmp); UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); } else if (iFile > 0) - strcpy(body[iFile - 1].sFileOrbitOblData, options->cDefault); + fvFormattedString(&body[iFile - 1].sFileOrbitOblData, options->cDefault); } void ReadIceAlbedo(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, @@ -2688,7 +2689,7 @@ void WriteTGlobal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dTGlobal; if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp = fdUnitsTemp(*dTmp, U_CELSIUS, U_KELVIN); fsUnitsTime(0, cUnit); @@ -2700,7 +2701,7 @@ void WriteAlbedoGlobal(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { /* Get AlbedoGlobal */ *dTmp = body[iBody].dAlbedoGlobal; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteSnowball(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2708,7 +2709,7 @@ void WriteSnowball(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { /* Get snowball status */ *dTmp = (double)body[iBody].bSnowball; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceCapNorthLand(BODY *body, CONTROL *control, OUTPUT *output, @@ -2720,7 +2721,7 @@ void WriteIceCapNorthLand(BODY *body, CONTROL *control, OUTPUT *output, fvNorthIceCapLand(body, iBody, &dLat, &iLatIceEdge, &bCap); *dTmp = (double)bCap; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceCapNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, @@ -2734,7 +2735,7 @@ void WriteIceCapNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLat; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2749,7 +2750,7 @@ void WriteIceCapNorthSea(BODY *body, CONTROL *control, OUTPUT *output, fvNorthIceCapSea(body, iBody, &dLat, &iLatIceEdge, &bCap); *dTmp = (double)bCap; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceCapNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, @@ -2763,7 +2764,7 @@ void WriteIceCapNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLat; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2778,7 +2779,7 @@ void WriteIceCapSouthLand(BODY *body, CONTROL *control, OUTPUT *output, fvSouthIceCapLand(body, iBody, &dLat, &iLatIceEdge, &bCap); *dTmp = (double)bCap; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceCapSouthLatLand(BODY *body, CONTROL *control, OUTPUT *output, @@ -2792,7 +2793,7 @@ void WriteIceCapSouthLatLand(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLat; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2807,7 +2808,7 @@ void WriteIceCapSouthSea(BODY *body, CONTROL *control, OUTPUT *output, fvSouthIceCapSea(body, iBody, &dLat, &iLatIceEdge, &bCap); *dTmp = (double)bCap; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceCapSouthLatSea(BODY *body, CONTROL *control, OUTPUT *output, @@ -2822,7 +2823,7 @@ void WriteIceCapSouthLatSea(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLat; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2839,7 +2840,7 @@ void WriteIceBeltLand(BODY *body, CONTROL *control, OUTPUT *output, &bBelt); *dTmp = (double)bBelt; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceBeltNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, @@ -2854,7 +2855,7 @@ void WriteIceBeltNorthLatLand(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLatNorth; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2873,7 +2874,7 @@ void WriteIceBeltSouthLatLand(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLatSouth; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2890,7 +2891,7 @@ void WriteIceBeltSea(BODY *body, CONTROL *control, OUTPUT *output, &bBelt); *dTmp = (double)bBelt; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceBeltNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, @@ -2905,7 +2906,7 @@ void WriteIceBeltNorthLatSea(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLatNorth; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2924,7 +2925,7 @@ void WriteIceBeltSouthLatSea(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dLatSouth; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -2936,7 +2937,7 @@ void WriteSnowballLand(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = (double)fbSnowballLand(body, iBody); - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteSnowballSea(BODY *body, CONTROL *control, OUTPUT *output, @@ -2944,7 +2945,7 @@ void WriteSnowballSea(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = (double)fbSnowballSea(body, iBody); - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteIceFree(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2952,7 +2953,7 @@ void WriteIceFree(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = (double)fbIceFree(body, iBody); - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteSkipSeas(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2960,7 +2961,7 @@ void WriteSkipSeas(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { /* Get AlbedoGlobal */ *dTmp = body[iBody].bSkipSeas; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteTempLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2978,7 +2979,7 @@ void WriteTempLat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3003,7 +3004,7 @@ void WriteTempMinLat(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3027,7 +3028,7 @@ void WriteTempMaxLat(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3051,7 +3052,7 @@ void WriteTempMaxLand(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3075,7 +3076,7 @@ void WriteTempMaxWater(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp = fdUnitsTemp(*dTmp, U_CELSIUS, U_KELVIN); fsUnitsTime(0, cUnit); @@ -3097,7 +3098,7 @@ void WriteTempLandLat(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp = fdUnitsTemp(*dTmp, U_CELSIUS, U_KELVIN); fsUnitsTime(0, cUnit); @@ -3119,7 +3120,7 @@ void WriteTempWaterLat(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { /* Units already in Celsius (POISE uses Celsius) */ - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp = fdUnitsTemp(*dTmp, U_CELSIUS, U_KELVIN); fsUnitsTime(0, cUnit); @@ -3135,7 +3136,7 @@ void WriteLatitude(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3157,7 +3158,7 @@ void WriteAlbedoLat(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].daAlbedoAvg[body[iBody].iWriteLat]; } - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteAlbedoLandLat(BODY *body, CONTROL *control, OUTPUT *output, @@ -3172,7 +3173,7 @@ void WriteAlbedoLandLat(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].daAlbedoAvgL[body[iBody].iWriteLat]; } - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteAlbedoWaterLat(BODY *body, CONTROL *control, OUTPUT *output, @@ -3187,7 +3188,7 @@ void WriteAlbedoWaterLat(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].daAlbedoAvgW[body[iBody].iWriteLat]; } - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteFluxInGlobal(BODY *body, CONTROL *control, OUTPUT *output, @@ -3198,7 +3199,7 @@ void WriteFluxInGlobal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { // Negative option is SI - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3216,7 +3217,7 @@ void WriteFluxOutGlobal(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { // Negative option is SI - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3234,7 +3235,7 @@ void WriteTotIceMass(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { // Negative option is SI - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3251,7 +3252,7 @@ void WriteIceFlowTot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { // Negative option is SI - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -3267,7 +3268,7 @@ void WriteAreaIceCov(BODY *body, CONTROL *control, OUTPUT *output, // if (output->bDoNeg[iBody]) { // // Negative option is SI - // strcpy(cUnit,output->cNeg); + // fvFormattedString(cUnit,output->cNeg); // } else { // *dTmp /= fdUnitsMass(units->iMass); // fsUnitsMass(units->iMass,cUnit); @@ -3283,7 +3284,7 @@ void WriteIceBalanceTot(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { // Negative option is SI - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3300,7 +3301,7 @@ void WriteAnnualInsol(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3317,7 +3318,7 @@ void WritePeakInsol(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3654,7 +3655,7 @@ void WriteFluxMerid(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3678,7 +3679,7 @@ void WriteFluxIn(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3702,7 +3703,7 @@ void WriteFluxOut(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { @@ -3721,7 +3722,7 @@ void WriteDivFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].daDivFluxAvg[body[iBody].iWriteLat]; } if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -3740,7 +3741,7 @@ void WriteIceMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { //*dTmp /= fdUnitsMass(units->iMass)/pow(fdUnitsLength(units->iLength),2); @@ -3759,7 +3760,7 @@ void WriteIceHeight(BODY *body, CONTROL *control, OUTPUT *output, } if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3777,7 +3778,7 @@ void WriteBedrockH(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3795,7 +3796,7 @@ void WritePlanckBAvg(BODY *body, CONTROL *control, OUTPUT *output, } // if (output->bDoNeg[iBody]) { - // strcpy(cUnit,output->cNeg); + // fvFormattedString(cUnit,output->cNeg); // } else { // *dTmp /= fdUnitsLength(units->iLength); // fsUnitsLength(units->iLength,cUnit); @@ -3814,7 +3815,7 @@ void WriteDIceMassDt(BODY *body, CONTROL *control, OUTPUT *output, } if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsLength(units->iLength); fsUnitsLength(units->iLength, cUnit); @@ -3833,7 +3834,7 @@ void WriteIceAccum(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } // if (output->bDoNeg[iBody]) { - // strcpy(cUnit,output->cNeg); + // fvFormattedString(cUnit,output->cNeg); // } else { // *dTmp /= fdUnitsLength(units->iLength); // fsUnitsLength(units->iLength,cUnit); @@ -3852,7 +3853,7 @@ void WriteIceAblate(BODY *body, CONTROL *control, OUTPUT *output, } // if (output->bDoNeg[iBody]) { - // strcpy(cUnit,output->cNeg); + // fvFormattedString(cUnit,output->cNeg); // } else { // *dTmp /= fdUnitsLength(units->iLength); // fsUnitsLength(units->iLength,cUnit); @@ -3872,7 +3873,7 @@ void WriteDIceMassDtFlow(BODY *body, CONTROL *control, OUTPUT *output, } if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { // *dTmp /= fdUnitsMass(units->iMass)/pow(fdUnitsLength(units->iLength),2); // fsUnitsEnergyFlux(units,cUnit); @@ -3886,7 +3887,7 @@ void WriteEnergyResL(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].daEnergyResL[body[iBody].iWriteLat]; if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -3900,7 +3901,7 @@ void WriteEnergyResW(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].daEnergyResW[body[iBody].iWriteLat]; if (output->bDoNeg[iBody]) { - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); diff --git a/src/radheat.c b/src/radheat.c index 196eb23c9..0612b205e 100644 --- a/src/radheat.c +++ b/src/radheat.c @@ -3665,7 +3665,7 @@ void fvWrite26AlPowerMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd26AlPowerMan(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -3691,7 +3691,7 @@ void fvWrite26AlEnFlux(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd26AlEnFlux(body, update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -3716,7 +3716,7 @@ void fvWriteD26AlNumDt(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = *(update[iBody].pdD26AlNumManDt); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -3759,7 +3759,7 @@ void fvWrite26AlMassMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d26AlNumMan * MASS26AL; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -3802,7 +3802,7 @@ void fvWrite26AlNumMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d26AlNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -3828,7 +3828,7 @@ void fvWrite26AlPowerCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd26AlPowerCore(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -3853,7 +3853,7 @@ void fvWrite26AlMassCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d26AlNumCore * MASS26AL; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -3878,7 +3878,7 @@ void fvWrite26AlNumCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d26AlNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -3902,7 +3902,7 @@ void fvWrite26AlPowerTot(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd26AlPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -3932,7 +3932,7 @@ void fvWrite40KPowerMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd40KPowerMan(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -3958,7 +3958,7 @@ void fvWrite40KEnFlux(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd40KEnFlux(body, update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -3983,7 +3983,7 @@ void fvWriteD40KNumDt(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = *(update[iBody].pdD40KNumManDt); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -4026,7 +4026,7 @@ void fvWrite40KMassMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d40KNumMan * MASS40K; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4070,7 +4070,7 @@ void fvWrite40KNumMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d40KNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4096,7 +4096,7 @@ void fvWrite40KPowerCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd40KPowerCore(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4121,7 +4121,7 @@ void fvWrite40KMassCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d40KNumCore * MASS40K; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4146,7 +4146,7 @@ void fvWrite40KNumCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d40KNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4172,7 +4172,7 @@ void fvWrite40KPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd40KPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4197,7 +4197,7 @@ void fvWrite40KMassCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d40KNumCrust * MASS40K; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4222,7 +4222,7 @@ void fvWrite40KNumCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d40KNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4246,7 +4246,7 @@ void fvWrite40KPowerTot(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd40KPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4275,7 +4275,7 @@ void fvWrite232ThEnFlux(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -4301,7 +4301,7 @@ void fvWriteD232ThNumDt(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -4363,7 +4363,7 @@ void fvWrite232ThPowerMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd232ThPowerMan(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4388,7 +4388,7 @@ void fvWrite232ThMassMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d232ThNumMan * MASS232TH; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4413,7 +4413,7 @@ void fvWrite232ThNumMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d232ThNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4439,7 +4439,7 @@ void fvWrite232ThPowerCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd232ThPowerCore(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4464,7 +4464,7 @@ void fvWrite232ThMassCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d232ThNumCore * MASS232TH; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4489,7 +4489,7 @@ void fvWrite232ThNumCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d232ThNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4515,7 +4515,7 @@ void fvWrite232ThPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd232ThPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4540,7 +4540,7 @@ void fvWrite232ThMassCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d232ThNumCrust * MASS232TH; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4565,7 +4565,7 @@ void fvWrite232ThNumCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d232ThNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4589,7 +4589,7 @@ void fvWrite232ThPowerTot(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd232ThPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4617,7 +4617,7 @@ void fvWrite238UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd238UEnFlux(body, update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -4642,7 +4642,7 @@ void fvWriteD238UNumDt(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = *(update[iBody].pdD238UNumManDt); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -4706,7 +4706,7 @@ void fvWrite238UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd238UPowerMan(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4731,7 +4731,7 @@ void fvWrite238UMassMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d238UNumMan * MASS238U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4756,7 +4756,7 @@ void fvWrite238UNumMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d238UNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4782,7 +4782,7 @@ void fvWrite238UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd238UPowerCore(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4807,7 +4807,7 @@ void fvWrite238UMassCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d238UNumCore * MASS238U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4832,7 +4832,7 @@ void fvWrite238UNumCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d238UNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4858,7 +4858,7 @@ void fvWrite238UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd238UPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4883,7 +4883,7 @@ void fvWrite238UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d238UNumCrust * MASS238U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -4908,7 +4908,7 @@ void fvWrite238UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d238UNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -4932,7 +4932,7 @@ void fvWrite238UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd238UPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -4962,7 +4962,7 @@ void fvWrite235UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); @@ -4988,7 +4988,7 @@ void fvWriteD235UNumDt(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp *= fdUnitsTime(units->iTime); fsUnitsRate(units->iTime, cUnit); @@ -5052,7 +5052,7 @@ void fvWrite235UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = -(*(update[iBody].pdD235UNumManDt)) * ENERGY235U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5077,7 +5077,7 @@ void fvWrite235UMassMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d235UNumMan * MASS235U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -5102,7 +5102,7 @@ void fvWrite235UNumMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d235UNumMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -5128,7 +5128,7 @@ void fvWrite235UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd235UPowerCore(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5153,7 +5153,7 @@ void fvWrite235UMassCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d235UNumCore * MASS235U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -5178,7 +5178,7 @@ void fvWrite235UNumCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d235UNumCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -5204,7 +5204,7 @@ void fvWrite235UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd235UPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5229,7 +5229,7 @@ void fvWrite235UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d235UNumCrust * MASS235U; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsMass(units->iMass); fsUnitsMass(units->iMass, cUnit); @@ -5254,7 +5254,7 @@ void fvWrite235UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].d235UNumCrust; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } /* else nothing, as it is a number */ } @@ -5278,7 +5278,7 @@ void fvWrite235UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fd235UPower(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5307,7 +5307,7 @@ void fvWriteRadPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fdRadPowerCrust(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5333,7 +5333,7 @@ void fvWriteRadPowerMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fdRadPowerMan(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5359,7 +5359,7 @@ void fvWriteRadPowerCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fdRadPowerCore(update, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5385,7 +5385,7 @@ void fvWriteRadPowerTotal(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dRadPowerTotal; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -5411,7 +5411,7 @@ void fvWriteSurfEnFluxRadTotal(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = fdSurfEnFluxRadTotal(body, system, update, iBody, iBody); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsEnergyFlux(units->iTime, units->iMass, units->iLength); fsUnitsEnergyFlux(units, cUnit); diff --git a/src/spinbody.c b/src/spinbody.c index 35a9dec46..142b1c550 100644 --- a/src/spinbody.c +++ b/src/spinbody.c @@ -893,42 +893,42 @@ void WritePositionX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dPositionX; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WritePositionY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dPositionY; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WritePositionZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dPositionZ; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteVelX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dVelX; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteVelY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dVelY; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteVelZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dVelZ; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteInclinationSpinBody(BODY *body, CONTROL *control, OUTPUT *output, @@ -938,7 +938,7 @@ void WriteInclinationSpinBody(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); @@ -952,7 +952,7 @@ void WriteLongASpinBody(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsAngle(units->iAngle); fsUnitsAngle(units->iAngle, cUnit); diff --git a/src/stellar.c b/src/stellar.c index 56fa80834..1efe53716 100644 --- a/src/stellar.c +++ b/src/stellar.c @@ -1264,7 +1264,7 @@ void WriteLuminosity(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -1286,7 +1286,7 @@ void WriteLXUV(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { *dTmp /= fdUnitsPower(units->iTime, units->iMass, units->iLength); fsUnitsPower(units, cUnit); @@ -1297,7 +1297,7 @@ void WriteLXUVFrac(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = body[iBody].dLXUV / body[iBody].dLuminosity; - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteRossbyNumber(BODY *body, CONTROL *control, OUTPUT *output, @@ -1305,7 +1305,7 @@ void WriteRossbyNumber(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = body[iBody].dRotPer / fdCranmerSaar2011TauCZ(body[iBody].dTemperature); - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } void WriteDRotPerDtStellar(BODY *body, CONTROL *control, OUTPUT *output, @@ -1321,9 +1321,9 @@ void WriteDRotPerDtStellar(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = dDeriv * (-2 * PI / (body[iBody].dRotRate * body[iBody].dRotRate)); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { - strcpy(cUnit, ""); + fvFormattedString(cUnit, ""); } } diff --git a/src/thermint.c b/src/thermint.c index d279d8e9c..3fc651193 100644 --- a/src/thermint.c +++ b/src/thermint.c @@ -2123,7 +2123,7 @@ void fvWriteTMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dTMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { /* *dTmp /= fdUnitsTemp(body[iBody].dTman,0,units->iTemp); //set "iOldType" to 0, second input var, arbitarily. @@ -2151,7 +2151,7 @@ void fvWriteTUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dTUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2175,7 +2175,7 @@ void fvWriteTsolUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *syste *dTmp = body[iBody].dTsolUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else{ } } @@ -2199,7 +2199,7 @@ void fvWriteTLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dTLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2223,7 +2223,7 @@ void fvWriteTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dTJumpUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2247,7 +2247,7 @@ void fvWriteTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dTJumpLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2271,7 +2271,7 @@ void fvWriteSignTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dSignTJumpUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2295,7 +2295,7 @@ void fvWriteSignTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dSignTJumpLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2319,7 +2319,7 @@ void fvWriteTCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dTCMB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2343,7 +2343,7 @@ void fvWriteTCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dTCore; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2367,7 +2367,7 @@ void fvWriteViscUManArr(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dViscUManArr; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { fsUnitsViscosity(units, cUnit); *dTmp /= fdUnitsTime(units->iTime) / @@ -2394,7 +2394,7 @@ void fvWriteViscUMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { fsUnitsViscosity(units, cUnit); *dTmp /= fdUnitsTime(units->iTime) / @@ -2421,7 +2421,7 @@ void fvWriteDynamicViscosity(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { fsUnitsEnergy(units, cUnit); *dTmp /= fdUnitsEnergy(units->iTime, units->iMass, units->iLength); @@ -2447,7 +2447,7 @@ void fvWriteViscLMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { fsUnitsViscosity(units, cUnit); *dTmp /= fdUnitsTime(units->iTime) / @@ -2474,7 +2474,7 @@ void fvWriteViscMMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { fsUnitsViscosity(units, cUnit); *dTmp /= fdUnitsTime(units->iTime) / @@ -2501,7 +2501,7 @@ void fvWriteViscJumpMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dViscJumpMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2524,7 +2524,7 @@ void fvWriteBLUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dBLUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2547,7 +2547,7 @@ void fvWriteBLLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dBLLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2570,7 +2570,7 @@ void fvWriteShmodUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dShmodUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2593,7 +2593,7 @@ void fvWriteFMeltUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dFMeltUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2616,7 +2616,7 @@ void fvWriteFMeltLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dFMeltLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2639,7 +2639,7 @@ void fvWriteMeltfactorUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMeltfactorUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2662,7 +2662,7 @@ void fvWriteMeltfactorLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMeltfactorLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2685,7 +2685,7 @@ void fvWriteDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dDepthMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2708,7 +2708,7 @@ void fvWriteTDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dTDepthMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2731,7 +2731,7 @@ void fvWriteTJumpMeltMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dTJumpMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2754,7 +2754,7 @@ void fvWriteMeltMassFluxMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMeltMassFluxMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2777,7 +2777,7 @@ void fvWriteRayleighMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dRayleighMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2800,7 +2800,7 @@ void fvWriteEruptEff(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dEruptEff; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2825,7 +2825,7 @@ void fvWriteRIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2848,7 +2848,7 @@ void fvWriteDRICDTCMB(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dDRICDTCMB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2872,7 +2872,7 @@ void fvWriteChiOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, // *dTmp = body[iBody].dRIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2895,7 +2895,7 @@ void fvWriteChiIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dChiIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2918,7 +2918,7 @@ void fvWriteMassOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dMassOC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2941,7 +2941,7 @@ void fvWriteMassIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dMassIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2964,7 +2964,7 @@ void fvWriteMassChiOC(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMassChiOC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -2987,7 +2987,7 @@ void fvWriteMassChiIC(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMassChiIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3010,7 +3010,7 @@ void fvWriteDTChi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dDTChi; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3033,7 +3033,7 @@ void fvWriteThermConductOC(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dThermConductOC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3056,7 +3056,7 @@ void fvWriteCoreBuoyTherm(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCoreBuoyTherm; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3079,7 +3079,7 @@ void fvWriteCoreBuoyCompo(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCoreBuoyCompo; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3102,7 +3102,7 @@ void fvWriteCoreBuoyTotal(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dCoreBuoyTotal; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3125,7 +3125,7 @@ void fvWriteGravICB(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dGravICB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3148,7 +3148,7 @@ void fvWriteMagMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dMagMom; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3171,7 +3171,7 @@ void fvWriteRICDot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = body[iBody].dRICDot; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3194,7 +3194,7 @@ void fvWritePresSWind(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dPresSWind; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3217,7 +3217,7 @@ void fvWriteMagPauseRad(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dMagPauseRad; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3242,7 +3242,7 @@ void fvWriteHfluxUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHfluxUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3265,7 +3265,7 @@ void fvWriteHfluxLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHfluxLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3288,7 +3288,7 @@ void fvWriteHfluxCMB(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHfluxCMB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3311,7 +3311,7 @@ void fvWriteHfluxCMBAd(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHfluxCMBAd; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3334,7 +3334,7 @@ void fvWriteHfluxCMBConv(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHfluxCMBConv; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3357,7 +3357,7 @@ void fvWriteHflowUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3380,7 +3380,7 @@ void fvWriteHflowSurf(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowSurf; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3403,7 +3403,7 @@ void fvWriteHflowLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowLMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3426,7 +3426,7 @@ void fvWriteHflowCMB(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowCMB; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3449,7 +3449,7 @@ void fvWriteHflowLatentMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowLatentMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3472,7 +3472,7 @@ void fvWriteHflowMeltMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowMeltMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3495,7 +3495,7 @@ void fvWriteHflowSecMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowSecMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3519,7 +3519,7 @@ void fvWriteHflowLatentIC(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dHflowLatentIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3542,7 +3542,7 @@ void fvWritePowerGravIC(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dPowerGravIC; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } @@ -3566,7 +3566,7 @@ void fvWriteTDotMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = (*(update[iBody].pdTDotMan)); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { /* *dTmp /= @@ -3596,7 +3596,7 @@ void fvWriteTDotCore(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = (*(update[iBody].pdTDotCore)); if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { /* *dTmp /= @@ -3626,7 +3626,7 @@ void fvWriteTrefLind(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = body[iBody].dTrefLind; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; - strcpy(cUnit, output->cNeg); + fvFormattedString(cUnit, output->cNeg); } else { } } diff --git a/src/verify.c b/src/verify.c index 77bb53482..09deb1b16 100644 --- a/src/verify.c +++ b/src/verify.c @@ -355,7 +355,7 @@ void VerifyIntegration(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, fnIntegrate *fnOneStep) { int iFile, iFile1 = 0, iFile2 = 0; - char cTmp[OPTLEN]; + char *cTmp=NULL; // Initialize iDir to 0, i.e. assume no integrations requested to start @@ -475,7 +475,7 @@ void VerifyIntegration(BODY *body, CONTROL *control, FILES *files, *fnOneStep = &RungeKutta4Step; } else { /* Assign Default */ - strcpy(cTmp, options[OPT_INTEGRATIONMETHOD].cDefault); + fvFormattedString(&cTmp, options[OPT_INTEGRATIONMETHOD].cDefault); if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "INFO: %s not set, defaulting to %s.\n", options[OPT_INTEGRATIONMETHOD].cName, diff --git a/src/vplanet.c b/src/vplanet.c index e486c9c25..0a0c2067f 100644 --- a/src/vplanet.c +++ b/src/vplanet.c @@ -66,10 +66,11 @@ int main_impl(int argc, char *argv[]) { fnUpdateVariable ***fnUpdate; fnIntegrate fnOneStep; + control.sGitVersion=NULL; #ifdef GITVERSION - strcpy(control.sGitVersion, GITVERSION); + fvFormattedString(&control.sGitVersion, GITVERSION); #else - strcpy(control.sGitVersion, "Unknown"); + fvFormattedString(&control.sGitVersion, "Unknown"); #endif /** Must initialize all options and outputs for all modules diff --git a/src/vplanet.h b/src/vplanet.h index 31c74509a..a784ac15d 100644 --- a/src/vplanet.h +++ b/src/vplanet.h @@ -1837,7 +1837,7 @@ struct CONTROL { IO Io; UNITS *Units; - char sGitVersion[64]; + char *sGitVersion; /* Move to BODY */ int *iMassRad; /**< Mass-Radius Relationship */ From 9bee7c9d30bccd9ff753c062ba94a97e4daaeba1 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 6 Aug 2024 16:32:47 -0700 Subject: [PATCH 16/31] Working to solve issue with assignment of string arrays... --- src/options.c | 10 ++++++---- src/output.c | 4 ++-- src/vplanet.c | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/options.c b/src/options.c index 379c4c9da..bcf4cc2b4 100644 --- a/src/options.c +++ b/src/options.c @@ -255,11 +255,9 @@ void AddOptionStringArray(char *cFile, char *cOption, int iPos, iWord, bContinue, iNumWords; FILE *fp; - *saInput = malloc(MAXARRAY*sizeof(char*)); - - iLine[0] = -1; + iLine[0] = -1; - /* Fencepost problem. If cInput continues across multiple lines, + /* Fencepost problem. If saInput continues across multiple lines, then we must keep getting more lines. For the first line, we remove the first word, as it is cOption. iLine must come preassigned and set to 0. */ @@ -272,6 +270,7 @@ void AddOptionStringArray(char *cFile, char *cOption, GetLine(cFile, cOption, &cLine, &iLine[0], iVerbose); GetWords(cLine, cTmp, &iNumWords, &bContinue); *iNumLines = 1; + *saInput = malloc(MAXARRAY*sizeof(char*)); for (iWord = 0; iWord < iNumWords - 1; iWord++) { *saInput[iWord] = NULL; @@ -294,6 +293,9 @@ void AddOptionStringArray(char *cFile, char *cOption, &iLine[*iNumLines]); if (memcmp(cLine, "null", 4)) { GetWords(cLine, cTmp, &iNumWords, &bContinue); + if (*iNumIndices + iNumWords > MAXARRAY) { + fprintf(stderr,"ERROR: Too many arguments to %s. Either remove options, or increase value of MAXARRAY",cOption); + } for (iWord = 0; iWord < iNumWords; iWord++) { fvFormattedString(saInput[*iNumIndices + iWord], cTmp[iWord]); memset(cTmp[iWord], '\0', OPTLEN); diff --git a/src/output.c b/src/output.c index 5a4bf4e6a..f6fa972b3 100644 --- a/src/output.c +++ b/src/output.c @@ -2026,7 +2026,7 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, fvFormattedString(&cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caCol[iCol]); fvFormattedString(&cTmp, "[%s]", cUnit); - fvFormattedString(cCol[iCol + iSubOut + iExtra], cTmp); + fvFormattedString(&cCol[iCol + iSubOut + iExtra], cTmp); } iExtra += (output[iOut].iNum - 1); free(dTmp); @@ -2064,7 +2064,7 @@ void LogGridOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, fvFormattedString(&cCol[iCol + iSubOut + iExtra], files->Outfile[iBody].caGrid[iCol]); fvFormattedString(&cTmp, "[%s]", cUnit); - fvFormattedString(cCol[iCol + iSubOut + iExtra], cTmp); + fvFormattedString(&cCol[iCol + iSubOut + iExtra], cTmp); } iExtra += (output[iOut].iNum - 1); free(dTmp); diff --git a/src/vplanet.c b/src/vplanet.c index 0a0c2067f..98da09577 100644 --- a/src/vplanet.c +++ b/src/vplanet.c @@ -90,6 +90,7 @@ int main_impl(int argc, char *argv[]) { control.Evolve.iOneStep = 0; /* Copy executable file name to the files struct. */ + files.cExe=NULL; fvFormattedString(&files.cExe, argv[0]); if (argc == 1) { From 49bd690f0fdd8a330a4e283e37019fb6838d8105 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 7 Aug 2024 15:30:11 -0700 Subject: [PATCH 17/31] Refactored InitializeControl and added new funciton InitializeFiles. ReadOutputOrder currently broken. --- src/control.c | 153 +++++++++++++++++++++++----------- src/control.h | 34 ++++---- src/options.c | 226 ++++++++++++++++++++++++++++---------------------- 3 files changed, 250 insertions(+), 163 deletions(-) diff --git a/src/control.c b/src/control.c index 75d7250d4..10e4b7619 100644 --- a/src/control.c +++ b/src/control.c @@ -92,37 +92,79 @@ void sort_output(OUTPUT *output, int sorted[]) { * Struct Initialization */ -void InitializeControl(CONTROL *control, MODULE *module) { +void InitializeFiles(FILES *files, int iNumBodies) { + int iBody; + + files->cLog = NULL; + files->cExe = NULL; + for (iBody = 0; iBody < iNumBodies; iBody++) { + // Infile must be initilized in ReadBodyNames + files->Outfile[iBody].cOut = NULL; + } +} + +void InitializePropsAux(CONTROL *control, MODULE *module) { int iBody, iModule; - control->bOutputLapl = 0; + control->fnPropsAux = + malloc(control->Evolve.iNumBodies * sizeof(fnPropsAuxModule *)); + control->fnPropsAuxMulti = + malloc(control->Evolve.iNumBodies * sizeof(fnPropsAuxModule *)); + + for (iBody = 0; iBody < control->Evolve.iNumBodies; iBody++) { + control->fnPropsAux[iBody] = + malloc(module->iNumModules[iBody] * sizeof(fnPropsAuxModule)); + for (iModule = 0; iModule < module->iNumModules[iBody]; iModule++) { + control->fnPropsAux[iBody][iModule] = &PropsAuxNULL; + } + } + + if (module->iNumModules[iBody] > 0) { + /* XXX Note that the number of elements here is really a permutation, + but this should work for a while. */ + control->fnPropsAuxMulti[iBody] = + malloc(2 * module->iNumModules[iBody] * sizeof(fnPropsAuxModule *)); + } +} + +void InitilizeForceBehavior(CONTROL *control, MODULE *module) { + int iBody; - control->iMassRad = malloc(control->Evolve.iNumBodies * sizeof(int)); control->fnForceBehavior = malloc(control->Evolve.iNumBodies * sizeof(fnForceBehaviorModule *)); control->fnForceBehaviorMulti = malloc(control->Evolve.iNumBodies * sizeof(fnForceBehaviorModule *)); control->iNumMultiForce = malloc(control->Evolve.iNumBodies * sizeof(int)); - control->Halt = malloc(control->Evolve.iNumBodies * sizeof(HALT)); - - control->fnPropsAux = - malloc(control->Evolve.iNumBodies * sizeof(fnPropsAuxModule *)); - control->fnPropsAuxMulti = - malloc(control->Evolve.iNumBodies * sizeof(fnPropsAuxModule *)); - for (iBody = 0; iBody < control->Evolve.iNumBodies; iBody++) { control->fnForceBehavior[iBody] = malloc(module->iNumModules[iBody] * sizeof(fnForceBehaviorModule)); - control->fnPropsAux[iBody] = - malloc(module->iNumModules[iBody] * sizeof(fnPropsAuxModule)); + } + + if (module->iNumModules[iBody] > 0) { + /* XXX Note that the number of elements here is really a permutation, + but this should work for a while. */ + control->fnForceBehaviorMulti[iBody] = malloc( + 2 * module->iNumModules[iBody] * sizeof(fnForceBehaviorModule *)); + } +} + +void InitializeControlModules(CONTROL *control, MODULE *module) { + int iBody, iModule; + for (iBody = 0; iBody < control->Evolve.iNumBodies; iBody++) { for (iModule = 0; iModule < module->iNumModules[iBody]; iModule++) { module->fnInitializeControl[iBody][iModule](control, iBody); - control->fnPropsAux[iBody][iModule] = &PropsAuxNULL; } } +} + +void InitializeHalt(CONTROL *control) { + control->Halt = malloc(control->Evolve.iNumBodies * sizeof(HALT)); +} + +void InitializeIo(CONTROL *control) { + int iBody; - // Initialize IO error messages control->Io.baRocheMessage = malloc(control->Evolve.iNumBodies * sizeof(int)); control->Io.baCassiniOneMessage = malloc(control->Evolve.iNumBodies * sizeof(int)); @@ -143,6 +185,18 @@ void InitializeControl(CONTROL *control, MODULE *module) { control->Io.dMaxMutualInc = 0; } +void InitializeControl(CONTROL *control, MODULE *module) { + + InitializePropsAux(control, module); + InitializeIo(control); + InitilizeForceBehavior(control, module); + InitializeHalt(control); + InitializeControlModules(control, module); + + control->bOutputLapl = 0; + control->iMassRad = malloc(control->Evolve.iNumBodies * sizeof(int)); +} + /** This function performs the following tasks: @@ -179,7 +233,7 @@ void InitializeControlEvolve(BODY *body, CONTROL *control, MODULE *module, /* Currently this only matters for RK4 integration. This should be generalized for any integration method. */ if (control->Evolve.iOneStep == RUNGEKUTTA) { - control->Evolve.daDeriv = malloc(4 * sizeof(double **)); + control->Evolve.daDeriv = malloc(4 * sizeof(double **)); control->Evolve.daDerivProc = malloc(4 * sizeof(double ***)); for (iSubStep = 0; iSubStep < 4; iSubStep++) { control->Evolve.daDeriv[iSubStep] = @@ -244,7 +298,7 @@ void WriteDescription(char cLongDescr[], char cDescr[], int iMaxChars) { char cDescription[MAXARRAY][OPTLEN]; char **cLine; - cLine = malloc(MAXARRAY * sizeof(char*)); + cLine = malloc(MAXARRAY * sizeof(char *)); for (iLineWordNow = 0; iLineWordNow < MAXARRAY; iLineWordNow++) { memset(cLine[iLineWordNow], '\0', OPTLEN); memset(cDescription[iLineWordNow], '\0', OPTLEN); @@ -813,31 +867,31 @@ void fprintd(FILE *fp, double x, int iExp, int iDig) { } } -void AllocateStringMemory(char **sString,int iStringLength) { +void AllocateStringMemory(char **sString, int iStringLength) { if (*sString != NULL) { free(*sString); } - *sString = (char*)malloc((iStringLength) * sizeof(char)); + *sString = (char *)malloc((iStringLength) * sizeof(char)); if (*sString == NULL) { - fprintf(stderr,"ERROR: Failure in function AllocateStringMemory.\n"); + fprintf(stderr, "ERROR: Failure in function AllocateStringMemory.\n"); exit(EXIT_EXE); } } -void fvFormattedString(char **sString,const char* sFormattedString, ...) { - va_list vaArgs,vaArgsCopy; +void fvFormattedString(char **sString, const char *sFormattedString, ...) { + va_list vaArgs, vaArgsCopy; va_start(vaArgs, sFormattedString); va_copy(vaArgsCopy, vaArgs); - + int iStringLength = vsnprintf(NULL, 0, sFormattedString, vaArgs) + 1; - va_end(vaArgs); + va_end(vaArgs); - AllocateStringMemory(sString,iStringLength); + AllocateStringMemory(sString, iStringLength); - vsnprintf(*sString, iStringLength, sFormattedString, vaArgsCopy); - va_end(vaArgsCopy); + vsnprintf(*sString, iStringLength, sFormattedString, vaArgsCopy); + va_end(vaArgsCopy); } /* @@ -984,20 +1038,20 @@ void fsUnitsAngle(int iType, char **cUnit) { } void fsUnitsViscosity(UNITS *units, char **cUnit) { - char *cUnitLength=NULL,*cUnitTime=NULL; + char *cUnitLength = NULL, *cUnitTime = NULL; fsUnitsLength(units->iLength, &cUnitLength); fsUnitsTime(units->iTime, &cUnitTime); // strcat(cUnit, "^2/"); // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); - fvFormattedString(cUnit,cUnitLength,"^2/",cUnitTime); + fvFormattedString(cUnit, cUnitLength, "^2/", cUnitTime); free(cUnitLength); free(cUnitTime); } void fsUnitsAngMom(UNITS *units, char **cUnit) { - char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + char *cUnitMass = NULL, *cUnitLength = NULL, *cUnitTime = NULL; fsUnitsMass(units->iMass, &cUnitMass); fsUnitsLength(units->iLength, &cUnitLength); @@ -1009,14 +1063,14 @@ void fsUnitsAngMom(UNITS *units, char **cUnit) { // strcat(cUnit, "^2/"); // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); - fvFormattedString(cUnit,cUnitMass,"*",cUnitLength,"^2/",cUnitTime); + fvFormattedString(cUnit, cUnitMass, "*", cUnitLength, "^2/", cUnitTime); free(cUnitMass); free(cUnitLength); free(cUnitTime); } void fsUnitsDensity(UNITS *units, char **cUnit) { - char *cUnitMass=NULL,*cUnitLength=NULL; + char *cUnitMass = NULL, *cUnitLength = NULL; // fsUnitsMass(units->iMass, cUnit); // strcat(cUnit, "/"); @@ -1025,13 +1079,13 @@ void fsUnitsDensity(UNITS *units, char **cUnit) { // strcat(cUnit, "^3"); fsUnitsMass(units->iMass, &cUnitMass); fsUnitsLength(units->iLength, &cUnitLength); - fvFormattedString(cUnit,cUnitMass,"/",cUnitLength,"^3"); + fvFormattedString(cUnit, cUnitMass, "/", cUnitLength, "^3"); free(cUnitMass); - free(cUnitLength); + free(cUnitLength); } void fsUnitsVel(UNITS *units, char **cUnit) { - char *cUnitLength=NULL,*cUnitTime=NULL; + char *cUnitLength = NULL, *cUnitTime = NULL; // fsUnitsLength(units->iLength, cUnit); // strcat(cUnit, "/"); @@ -1039,30 +1093,30 @@ void fsUnitsVel(UNITS *units, char **cUnit) { // strcat(cUnit, cTmp); fsUnitsLength(units->iLength, &cUnitLength); fsUnitsTime(units->iTime, &cUnitTime); - fvFormattedString(cUnit,cUnitLength,"/",cUnitTime); + fvFormattedString(cUnit, cUnitLength, "/", cUnitTime); free(cUnitTime); free(cUnitLength); } void fsUnitsRate(int iType, char **cUnit) { - char *cUnitTime=NULL; + char *cUnitTime = NULL; // fvFormattedString(&cUnit, "/"); // fsUnitsTime(iType, cTmp); // strcat(cUnit, cTmp); fsUnitsTime(iType, &cUnitTime); - fvFormattedString(cUnit,"/",cUnitTime); + fvFormattedString(cUnit, "/", cUnitTime); free(cUnitTime); } void fsUnitsRateSquared(int iType, char **cUnit) { - char *cUnitTime=NULL; + char *cUnitTime = NULL; // fvFormattedString(&cUnit, "/"); // fsUnitsTime(iType, cTmp); // strcat(cUnit, cTmp); fsUnitsTime(iType, &cUnitTime); - fvFormattedString(cUnit,"/",cUnitTime,"^2"); + fvFormattedString(cUnit, "/", cUnitTime, "^2"); free(cUnitTime); } @@ -1072,7 +1126,7 @@ void fsUnitsRateSquared(int iType, char **cUnit) { void fsUnitsAngRate(UNITS *units, char **cUnit) { - char *cUnitAngle=NULL,*cUnitTime=NULL; + char *cUnitAngle = NULL, *cUnitTime = NULL; // fsUnitsAngle(units->iAngle, cUnit); // strcat(cUnit, "/"); @@ -1080,13 +1134,13 @@ void fsUnitsAngRate(UNITS *units, char **cUnit) { // strcat(cUnit, cTmp); fsUnitsAngle(units->iAngle, &cUnitAngle); fsUnitsTime(units->iTime, &cUnitTime); - fvFormattedString(cUnit,cUnitAngle,"/",cUnitTime); + fvFormattedString(cUnit, cUnitAngle, "/", cUnitTime); free(cUnitTime); free(cUnitAngle); } void fsUnitsEnergy(UNITS *units, char **cUnit) { - char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + char *cUnitMass = NULL, *cUnitLength = NULL, *cUnitTime = NULL; fsUnitsMass(units->iMass, &cUnitMass); fsUnitsLength(units->iLength, &cUnitLength); @@ -1100,20 +1154,21 @@ void fsUnitsEnergy(UNITS *units, char **cUnit) { // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); // strcat(cUnit, "^2"); - fvFormattedString(cUnit,cUnitMass,"*",cUnitLength,"^2/",cUnitTime,"^2"); + fvFormattedString(cUnit, cUnitMass, "*", cUnitLength, "^2/", cUnitTime, "^2"); free(cUnitMass); free(cUnitLength); free(cUnitTime); } double fdUnitsEnergy(int iTime, int iMass, int iLength) { - double dConversion = fdUnitsMass(iMass) * fdUnitsLength(iLength) * fdUnitsLength(iLength) / - (fdUnitsTime(iTime) * fdUnitsTime(iTime)); + double dConversion = fdUnitsMass(iMass) * fdUnitsLength(iLength) * + fdUnitsLength(iLength) / + (fdUnitsTime(iTime) * fdUnitsTime(iTime)); return dConversion; } void fsUnitsPower(UNITS *units, char **cUnit) { - char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + char *cUnitMass = NULL, *cUnitLength = NULL, *cUnitTime = NULL; fsUnitsMass(units->iMass, &cUnitMass); fsUnitsLength(units->iLength, &cUnitLength); @@ -1127,7 +1182,7 @@ void fsUnitsPower(UNITS *units, char **cUnit) { // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); // strcat(cUnit, "^3"); - fvFormattedString(cUnit,cUnitMass,"*",cUnitLength,"^2/",cUnitTime,"^3"); + fvFormattedString(cUnit, cUnitMass, "*", cUnitLength, "^2/", cUnitTime, "^3"); free(cUnitMass); free(cUnitLength); free(cUnitTime); @@ -1139,7 +1194,7 @@ double fdUnitsPower(int iTime, int iMass, int iLength) { } void fsUnitsEnergyFlux(UNITS *units, char **cUnit) { - char *cUnitMass=NULL,*cUnitLength=NULL,*cUnitTime=NULL; + char *cUnitMass = NULL, *cUnitLength = NULL, *cUnitTime = NULL; fsUnitsMass(units->iMass, &cUnitMass); fsUnitsLength(units->iLength, &cUnitLength); @@ -1153,7 +1208,7 @@ void fsUnitsEnergyFlux(UNITS *units, char **cUnit) { // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); // strcat(cUnit, ")"); - fvFormattedString(cUnit,cUnitMass,"/",cUnitTime,"^3"); + fvFormattedString(cUnit, cUnitMass, "/", cUnitTime, "^3"); } double fdUnitsEnergyFlux(int iTime, int iMass, int iLength) { diff --git a/src/control.h b/src/control.h index d80b8eac8..34bfb2375 100644 --- a/src/control.h +++ b/src/control.h @@ -17,6 +17,8 @@ void InitializeControl(CONTROL *, MODULE *); void InitializeControlEvolve(BODY *, CONTROL *, MODULE *, UPDATE *); void InitializeControlVerifyProperty(CONTROL *); +void InitializeFiles(FILES *, int); + void WriteHelpOption(OPTIONS *, int); void WriteHelpOutput(OUTPUT *, int); void HelpOptions(OPTIONS *, int); @@ -26,7 +28,7 @@ void Help(OPTIONS *, OUTPUT *, char[], int); void LineExit(char[], int); char *sLower(char[]); void fprintd(FILE *, double, int, int); -void fvFormattedString(char**,const char*, ...); +void fvFormattedString(char **, const char *, ...); double fdUnitsLength(int); double fdUnitsTime(int); @@ -39,21 +41,21 @@ double fdUnitsEnergyFlux(int, int, int); void fsUnitsRateSquared(int, char **); // double fdUnitsRate(int); -void fsUnitsLength(int, char**); -void fsUnitsTime(int, char**); -void fsUnitsAngle(int, char**); -void fsUnitsMass(int, char**); -void fsUnitsTemp(int, char**); -void fsUnitsTempRate(int, char**); -void fsUnitsAngMom(UNITS *, char**); -void fsUnitsDensity(UNITS *, char**); -void fsUnitsVel(UNITS *, char**); -void fsUnitsRate(int, char**); -void fsUnitsAngRate(UNITS *, char**); -void fsUnitsPower(UNITS *, char**); -void fsUnitsEnergy(UNITS *, char**); -void fsUnitsEnergyFlux(UNITS *, char**); -void fsUnitsViscosity(UNITS *, char**); +void fsUnitsLength(int, char **); +void fsUnitsTime(int, char **); +void fsUnitsAngle(int, char **); +void fsUnitsMass(int, char **); +void fsUnitsTemp(int, char **); +void fsUnitsTempRate(int, char **); +void fsUnitsAngMom(UNITS *, char **); +void fsUnitsDensity(UNITS *, char **); +void fsUnitsVel(UNITS *, char **); +void fsUnitsRate(int, char **); +void fsUnitsAngRate(UNITS *, char **); +void fsUnitsPower(UNITS *, char **); +void fsUnitsEnergy(UNITS *, char **); +void fsUnitsEnergyFlux(UNITS *, char **); +void fsUnitsViscosity(UNITS *, char **); void InfileCopy(INFILE *, INFILE *); diff --git a/src/options.c b/src/options.c index bcf4cc2b4..5fe9e40d6 100644 --- a/src/options.c +++ b/src/options.c @@ -54,7 +54,7 @@ void GetLine(char *cFile, char *cOption, char **cLine, int *iLine, char cWord[LINE], cTmp[LINE]; FILE *fp; - *cLine=NULL; + *cLine = NULL; iLen = strlen(cOption); @@ -248,14 +248,14 @@ double dNegativeDouble(OPTIONS options, char cFile[], int iVerbose) { not found, saInput is an array of empty strings, and iLine is unchanged. */ -void AddOptionStringArray(char *cFile, char *cOption, - char ***saInput, int *iNumIndices, - int *iNumLines, int *iLine, int iVerbose) { +void AddOptionStringArray(char *cFile, char *cOption, char ***saInput, + int *iNumIndices, int *iNumLines, int *iLine, + int iVerbose) { char *cLine, cTmp[MAXARRAY][OPTLEN]; int iPos, iWord, bContinue, iNumWords; FILE *fp; - iLine[0] = -1; + iLine[0] = -1; /* Fencepost problem. If saInput continues across multiple lines, then we must keep getting more lines. For the first line, we @@ -270,12 +270,12 @@ void AddOptionStringArray(char *cFile, char *cOption, GetLine(cFile, cOption, &cLine, &iLine[0], iVerbose); GetWords(cLine, cTmp, &iNumWords, &bContinue); *iNumLines = 1; - *saInput = malloc(MAXARRAY*sizeof(char*)); + *saInput = malloc(MAXARRAY * sizeof(char *)); for (iWord = 0; iWord < iNumWords - 1; iWord++) { *saInput[iWord] = NULL; - //memset(saInput[iWord], '\0', OPTLEN); - + // memset(saInput[iWord], '\0', OPTLEN); + fvFormattedString(saInput[iWord], cTmp[iWord + 1]); /* Reset cTmp string: If the next time cTmp is filled, the new string is longer than the old, then vestigial characters @@ -294,7 +294,10 @@ void AddOptionStringArray(char *cFile, char *cOption, if (memcmp(cLine, "null", 4)) { GetWords(cLine, cTmp, &iNumWords, &bContinue); if (*iNumIndices + iNumWords > MAXARRAY) { - fprintf(stderr,"ERROR: Too many arguments to %s. Either remove options, or increase value of MAXARRAY",cOption); + fprintf(stderr, + "ERROR: Too many arguments to %s. Either remove options, or " + "increase value of MAXARRAY", + cOption); } for (iWord = 0; iWord < iNumWords; iWord++) { fvFormattedString(saInput[*iNumIndices + iWord], cTmp[iWord]); @@ -313,7 +316,7 @@ void AddOptionStringArray(char *cFile, char *cOption, } } free(cLine); - } +} /* Get all fields in a double array. The fields are stored in daInput, and the lines which were read are in iNumLines. If a parameter is @@ -357,7 +360,7 @@ void AddOptionBool(char *cFile, char *cOption, int *iInput, int *iLine, int iVerbose) { AddOptionInt(cFile, cOption, iInput, iLine, iVerbose); - if (*iLine == -1) { + if (*iLine == -1) { return; } if (*iInput == 0 || *iInput == 1) { @@ -1166,7 +1169,7 @@ void ReadBodyFileNames(CONTROL *control, FILES *files, OPTIONS *options, InfileCopy(&files->Infile[0], infile); for (iIndex = 0; iIndex < iNumIndices; iIndex++) { - + files->Infile[iIndex + 1].cIn = NULL; fvFormattedString(&files->Infile[iIndex + 1].cIn, saTmp[iIndex]); } @@ -2663,13 +2666,12 @@ void ReadCosObl(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 1, iNumGrid = 0; - int k, iOut = -1, *lTmp, iCol, jCol; - char **saTmp, *cTmp=NULL, **cOption, - *cOut; + int k, iOut = -1, *lTmp, iCol, jCol; + char **saTmp, *cTmp = NULL, **cOption, *cOut; int iLen1, iLen2; - lTmp = malloc(MAXLINES * sizeof(int)); - cOption = malloc(MAXARRAY*sizeof(char*)); + lTmp = malloc(MAXLINES * sizeof(int)); + cOption = malloc(MAXARRAY * sizeof(char *)); AddOptionStringArray(files->Infile[iFile].cIn, options[OPT_OUTPUTORDER].cName, &saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, @@ -2797,12 +2799,13 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, output[iOut].bDoNeg[iFile - 1] = 0; } if (output[iOut].bGrid == 0 || output[iOut].bGrid == 2) { - //memset(files->Outfile[iFile - 1].caCol[i], '\0', OPTLEN); - fvFormattedString(&files->Outfile[iFile - 1].caCol[i], output[iOut].cName); + // memset(files->Outfile[iFile - 1].caCol[i], '\0', OPTLEN); + fvFormattedString(&files->Outfile[iFile - 1].caCol[i], + output[iOut].cName); } else { memset(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], '\0', OPTLEN); fvFormattedString(&files->Outfile[iFile - 1].caGrid[iNumGrid - 1], - output[iOut].cName); + output[iOut].cName); } // Is option part of selected modules? if (module->iBitSum[iFile - 1] & output[iOut].iModuleBit) { @@ -2873,8 +2876,8 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, char **saTmp, *cTmp, **cOption, *cOut; int iLen1, iLen2; - lTmp = malloc(MAXLINES * sizeof(int)); - cOption = malloc(MAXARRAY*sizeof(char*)); + lTmp = malloc(MAXLINES * sizeof(int)); + cOption = malloc(MAXARRAY * sizeof(char *)); AddOptionStringArray(files->Infile[iFile].cIn, options[OPT_GRIDOUTPUT].cName, &saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, @@ -2991,11 +2994,12 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, } if (output[iOut].bGrid == 0) { memset(files->Outfile[iFile - 1].caCol[i], '\0', OPTLEN); - fvFormattedString(&files->Outfile[iFile - 1].caCol[i], output[iOut].cName); + fvFormattedString(&files->Outfile[iFile - 1].caCol[i], + output[iOut].cName); } else { memset(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], '\0', OPTLEN); fvFormattedString(&files->Outfile[iFile - 1].caGrid[iNumGrid - 1], - output[iOut].cName); + output[iOut].cName); } } } @@ -3649,7 +3653,9 @@ void ReadOptions(BODY **body, CONTROL *control, FILES *files, MODULE *module, /* Initialize module control */ InitializeControl(control, module); - /* Now read in remaining options */ + InitializeFiles(files, control->Evolve.iNumBodies); + + /* Now read in multi-module options */ ReadOptionsGeneral(*body, control, files, module, options, output, system, fnRead); @@ -3672,7 +3678,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_SYSTEMNAME].cName, "sSystemName"); fvFormattedString(&options[OPT_SYSTEMNAME].cDescr, "System Name"); - fvFormattedString(&options[OPT_SYSTEMNAME].cDefault, "None - must be supplied"); + fvFormattedString(&options[OPT_SYSTEMNAME].cDefault, + "None - must be supplied"); options[OPT_SYSTEMNAME].iModuleBit = 0; options[OPT_SYSTEMNAME].iType = 3; options[OPT_SYSTEMNAME].iFileType = 0; @@ -3698,7 +3705,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_AGE] = &ReadAge; fvFormattedString(&options[OPT_ALBEDOGLOBAL].cName, "dAlbedoGlobal"); - fvFormattedString(&options[OPT_ALBEDOGLOBAL].cDescr, "Globally averaged albedo"); + fvFormattedString(&options[OPT_ALBEDOGLOBAL].cDescr, + "Globally averaged albedo"); fvFormattedString(&options[OPT_ALBEDOGLOBAL].cDefault, "0.3"); fvFormattedString(&options[OPT_ALBEDOGLOBAL].cDimension, "nd"); options[OPT_ALBEDOGLOBAL].dDefault = 0; @@ -3744,11 +3752,12 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ETA].bNeg = 0; options[OPT_ETA].iFileType = 2; fnRead[OPT_ETA] = &ReadEta; - fvFormattedString(&options[OPT_ETA].cLongDescr, - "The timestep will be set to %s times the smallest instantaneous " - "timescale, \n" - "i.e. min(x/(dx/dt) where x represents the primary variables.", - options[OPT_ETA].cName); + fvFormattedString( + &options[OPT_ETA].cLongDescr, + "The timestep will be set to %s times the smallest instantaneous " + "timescale, \n" + "i.e. min(x/(dx/dt) where x represents the primary variables.", + options[OPT_ETA].cName); fvFormattedString(&options[OPT_OUTPUTTIME].cName, "dOutputTime"); fvFormattedString(&options[OPT_OUTPUTTIME].cDescr, "Output Interval"); @@ -3799,7 +3808,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_VARDT] = &ReadVarDt; fvFormattedString(&options[OPT_BODYFILES].cName, "saBodyFiles"); - fvFormattedString(&options[OPT_BODYFILES].cDescr, "Input files for each body"); + fvFormattedString(&options[OPT_BODYFILES].cDescr, + "Input files for each body"); fvFormattedString(&options[OPT_BODYFILES].cDefault, "None"); options[OPT_BODYFILES].iModuleBit = 0; options[OPT_BODYFILES].bNeg = 0; @@ -3808,7 +3818,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_BODYNAME].cName, "sName"); fvFormattedString(&options[OPT_BODYNAME].cDescr, "Body's Name"); - fvFormattedString(&options[OPT_BODYNAME].cDefault, "Integer of Input Order, i.e. 1"); + fvFormattedString(&options[OPT_BODYNAME].cDefault, + "Integer of Input Order, i.e. 1"); options[OPT_BODYNAME].iType = 3; options[OPT_BODYNAME].iModuleBit = 0; options[OPT_BODYNAME].bNeg = 0; @@ -3823,7 +3834,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_COLOR].cName, "sColor"); fvFormattedString(&options[OPT_COLOR].cDescr, - "Hexadecimal color code for the body to be used in vplot"); + "Hexadecimal color code for the body to be used in vplot"); fvFormattedString(&options[OPT_COLOR].cDefault, "000000"); options[OPT_COLOR].iType = 3; options[OPT_COLOR].iModuleBit = 0; @@ -3852,7 +3863,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_FORW] = &ReadDoForward; fvFormattedString(&options[OPT_GRCORR].cName, "bGRCorr"); - fvFormattedString(&options[OPT_GRCORR].cDescr, "Use general relativity correction"); + fvFormattedString(&options[OPT_GRCORR].cDescr, + "Use general relativity correction"); fvFormattedString(&options[OPT_GRCORR].cDefault, "0"); options[OPT_GRCORR].dDefault = 0; options[OPT_GRCORR].iType = 0; @@ -3870,7 +3882,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HALTMAXECC].cName, "dHaltMaxEcc"); fvFormattedString(&options[OPT_HALTMAXECC].cDescr, - "Maximum eccentricity value that halts ntegration"); + "Maximum eccentricity value that halts ntegration"); fvFormattedString(&options[OPT_HALTMAXECC].cDefault, "1"); fvFormattedString(&options[OPT_HALTMAXECC].cDimension, "nd"); options[OPT_HALTMAXECC].dDefault = 1; @@ -3882,7 +3894,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cName, "dHaltMaxMutualInc"); fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cDescr, - "Maximum mutual inclination value that halts integration"); + "Maximum mutual inclination value that halts integration"); fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cDefault, "0 [not checked]"); fvFormattedString(&options[OPT_HALTMAXMUTUALINC].cDimension, "angle"); options[OPT_HALTMAXMUTUALINC].dDefault = 0; @@ -3913,7 +3925,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HALTMERGE].cName, "bHaltMerge"); fvFormattedString(&options[OPT_HALTMERGE].cDescr, "Halt at Merge"); fvFormattedString(&options[OPT_HALTMERGE].cDefault, - "If eqtide or distorb called 1, else 0"); + "If eqtide or distorb called 1, else 0"); options[OPT_HALTMERGE].iType = 0; options[OPT_HALTMERGE].iModuleBit = EQTIDE + DISTORB + SPINBODY + STELLAR; options[OPT_HALTMERGE].bNeg = 0; @@ -3922,7 +3934,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HALTMINECC].cName, "dHaltMinEcc"); fvFormattedString(&options[OPT_HALTMINECC].cDescr, - "Minimum Eccentricity Value that Halts Integration"); + "Minimum Eccentricity Value that Halts Integration"); fvFormattedString(&options[OPT_HALTMINECC].cDefault, "-1"); fvFormattedString(&options[OPT_HALTMINECC].cDimension, "nd"); options[OPT_HALTMINECC].dDefault = -1; @@ -3934,7 +3946,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HALTMINOBL].cName, "dHaltMinObl"); fvFormattedString(&options[OPT_HALTMINOBL].cDescr, - "Minimum Obliquity Value that Halts Integration"); + "Minimum Obliquity Value that Halts Integration"); fvFormattedString(&options[OPT_HALTMINOBL].cDefault, "-1 degrees"); fvFormattedString(&options[OPT_HALTMINOBL].cDimension, "angle"); options[OPT_HALTMINOBL].dDefault = -DEGRAD; @@ -3947,7 +3959,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HALTMINSEMI].cName, "dHaltMinSemi"); fvFormattedString(&options[OPT_HALTMINSEMI].cDescr, - "Minimum Semi-Major Axis Value that Halts Integration"); + "Minimum Semi-Major Axis Value that Halts Integration"); fvFormattedString(&options[OPT_HALTMINSEMI].cDefault, "0"); fvFormattedString(&options[OPT_HALTMINSEMI].cNeg, "au"); fvFormattedString(&options[OPT_HALTMINSEMI].cDimension, "length"); @@ -3992,9 +4004,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { * */ - fvFormattedString(&options[OPT_INTEGRATIONMETHOD].cName, "sIntegrationMethod"); - fvFormattedString(&options[OPT_INTEGRATIONMETHOD].cDescr, - "Integration Method: Euler, Runge-Kutta4 (Default = Runge-Kutta4)"); + fvFormattedString(&options[OPT_INTEGRATIONMETHOD].cName, + "sIntegrationMethod"); + fvFormattedString( + &options[OPT_INTEGRATIONMETHOD].cDescr, + "Integration Method: Euler, Runge-Kutta4 (Default = Runge-Kutta4)"); fvFormattedString(&options[OPT_INTEGRATIONMETHOD].cDefault, "Runge-Kutta4"); options[OPT_INTEGRATIONMETHOD].iType = 3; options[OPT_INTEGRATIONMETHOD].iModuleBit = 0; @@ -4047,7 +4061,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_LONGP].cName, "dLongP"); fvFormattedString(&options[OPT_LONGP].cDescr, - "Longitude of pericenter of planet's orbit"); + "Longitude of pericenter of planet's orbit"); fvFormattedString(&options[OPT_LONGP].cDefault, "0"); fvFormattedString(&options[OPT_LONGP].cDimension, "angle"); options[OPT_LONGP].dDefault = 0.0; @@ -4070,7 +4084,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_LUMINOSITY] = &ReadLuminosity; fvFormattedString(&options[OPT_LXUV].cName, "dLXUV"); - fvFormattedString(&options[OPT_LXUV].cDescr, "Total XUV Luminosity -- Unsupported!"); + fvFormattedString(&options[OPT_LXUV].cDescr, + "Total XUV Luminosity -- Unsupported!"); fvFormattedString(&options[OPT_LXUV].cDefault, "-1"); fvFormattedString(&options[OPT_LXUV].cDimension, "energy/time"); options[OPT_LXUV].dDefault = -1; @@ -4088,7 +4103,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_MINVALUE].cName, "dMinValue"); fvFormattedString(&options[OPT_MINVALUE].cDescr, - "Minimum Non-Zero Value of Eccentricity and Obliquities"); + "Minimum Non-Zero Value of Eccentricity and Obliquities"); fvFormattedString(&options[OPT_MINVALUE].cDefault, "0"); fvFormattedString(&options[OPT_MINVALUE].cDimension, "nd"); options[OPT_MINVALUE].dDefault = 0; @@ -4126,7 +4141,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_OUTDIGITS].cName, "iDigits"); fvFormattedString(&options[OPT_OUTDIGITS].cDescr, - "Number of Digits After Decimal Point"); + "Number of Digits After Decimal Point"); fvFormattedString(&options[OPT_OUTDIGITS].cDefault, "4"); options[OPT_OUTDIGITS].iType = 1; options[OPT_OUTDIGITS].iModuleBit = 0; @@ -4148,7 +4163,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_OUTPUTORDER].bMultiFile = 1; fvFormattedString(&options[OPT_GRIDOUTPUT].cName, "saGridOutput"); - fvFormattedString(&options[OPT_GRIDOUTPUT].cDescr, "Gridded Output Parameter(s)"); + fvFormattedString(&options[OPT_GRIDOUTPUT].cDescr, + "Gridded Output Parameter(s)"); fvFormattedString(&options[OPT_GRIDOUTPUT].cDefault, "None"); options[OPT_GRIDOUTPUT].iType = 13; options[OPT_GRIDOUTPUT].iModuleBit = POISE; @@ -4158,7 +4174,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_OUTSCINOT].cName, "iSciNot"); fvFormattedString(&options[OPT_OUTSCINOT].cDescr, - "Logarithm to Change from Standard to Scientific Notation"); + "Logarithm to Change from Standard to Scientific Notation"); fvFormattedString(&options[OPT_OUTSCINOT].cDefault, "4"); options[OPT_OUTSCINOT].iType = 1; options[OPT_OUTSCINOT].iModuleBit = 0; @@ -4233,7 +4249,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_ORBSEMI] = &ReadSemiMajorAxis; fvFormattedString(&options[OPT_INC].cName, "dInc"); - fvFormattedString(&options[OPT_INC].cDescr, "Inclination of planet's orbital plane"); + fvFormattedString(&options[OPT_INC].cDescr, + "Inclination of planet's orbital plane"); fvFormattedString(&options[OPT_INC].cDefault, "0"); fvFormattedString(&options[OPT_INC].cNeg, "Degrees"); fvFormattedString(&options[OPT_INC].cDimension, "angle"); @@ -4247,7 +4264,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_INC] = &ReadInc; fvFormattedString(&options[OPT_ARGP].cName, "dArgP"); - fvFormattedString(&options[OPT_ARGP].cDescr, "Argument of pericenter of planet's orbit"); + fvFormattedString(&options[OPT_ARGP].cDescr, + "Argument of pericenter of planet's orbit"); fvFormattedString(&options[OPT_ARGP].cDefault, "0"); fvFormattedString(&options[OPT_ARGP].cNeg, "Degrees"); fvFormattedString(&options[OPT_ARGP].cDimension, "angle"); @@ -4280,7 +4298,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_LONGA].cName, "dLongA"); fvFormattedString(&options[OPT_LONGA].cDescr, - "Longitude of ascending node of planet's orbital plane"); + "Longitude of ascending node of planet's orbital plane"); fvFormattedString(&options[OPT_LONGA].cDefault, "0"); fvFormattedString(&options[OPT_LONGA].cNeg, "Degrees"); fvFormattedString(&options[OPT_LONGA].cDimension, "angle"); @@ -4294,7 +4312,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_LONGA] = &ReadLongA; 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; @@ -4307,7 +4326,7 @@ void InitializeOptionsGeneral(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; @@ -4318,9 +4337,11 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_CALCDYNELLIP] = &ReadCalcDynEllip; fvFormattedString(&options[OPT_SURFACEWATERMASS].cName, "dSurfWaterMass"); - fvFormattedString(&options[OPT_SURFACEWATERMASS].cDescr, "Initial Surface Water Mass"); + fvFormattedString(&options[OPT_SURFACEWATERMASS].cDescr, + "Initial Surface Water Mass"); fvFormattedString(&options[OPT_SURFACEWATERMASS].cDefault, "0"); - fvFormattedString(&options[OPT_SURFACEWATERMASS].cNeg, "Terrestrial Oceans (TO)"); + fvFormattedString(&options[OPT_SURFACEWATERMASS].cNeg, + "Terrestrial Oceans (TO)"); fvFormattedString(&options[OPT_SURFACEWATERMASS].cDimension, "mass"); options[OPT_SURFACEWATERMASS].dDefault = 0; options[OPT_SURFACEWATERMASS].iType = 2; @@ -4328,11 +4349,13 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_SURFACEWATERMASS].dNeg = TOMASS; fnRead[OPT_SURFACEWATERMASS] = &ReadSurfaceWaterMass; - fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cName, "dMinSurfWaterMass"); + fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cName, + "dMinSurfWaterMass"); fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cDescr, - "Minimum Surface Water Mass"); + "Minimum Surface Water Mass"); fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cDefault, "1.e-5 TO"); - fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cNeg, "Terrestrial Oceans (TO)"); + fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cNeg, + "Terrestrial Oceans (TO)"); fvFormattedString(&options[OPT_MINSURFACEWATERMASS].cDimension, "mass"); options[OPT_MINSURFACEWATERMASS].dDefault = 1.e-5 * TOMASS; options[OPT_MINSURFACEWATERMASS].iType = 2; @@ -4352,7 +4375,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_ENVELOPEMASS] = &ReadEnvelopeMass; fvFormattedString(&options[OPT_MINENVELOPEMASS].cName, "dMinEnvelopeMass"); - fvFormattedString(&options[OPT_MINENVELOPEMASS].cDescr, "Minimum Envelope Mass"); + fvFormattedString(&options[OPT_MINENVELOPEMASS].cDescr, + "Minimum Envelope Mass"); fvFormattedString(&options[OPT_MINENVELOPEMASS].cDefault, "1.e-8 Earth"); fvFormattedString(&options[OPT_MINENVELOPEMASS].cNeg, "Mearth"); fvFormattedString(&options[OPT_MINENVELOPEMASS].cDimension, "mass"); @@ -4393,8 +4417,9 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_BODYTYPE] = &ReadBodyType; fvFormattedString(&options[OPT_MASSRAD].cName, "sMassRad"); - fvFormattedString(&options[OPT_MASSRAD].cDescr, - "Mass-Radius Relationship for Central Body: GS99 RH00 BO06 Sotin07 "); + fvFormattedString( + &options[OPT_MASSRAD].cDescr, + "Mass-Radius Relationship for Central Body: GS99 RH00 BO06 Sotin07 "); fvFormattedString(&options[OPT_MASSRAD].cDefault, "None"); options[OPT_MASSRAD].iType = 3; options[OPT_MASSRAD].bMultiFile = 1; @@ -4427,14 +4452,15 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_COSOBL].bNeg = 0; options[OPT_COSOBL].iFileType = 1; fnRead[OPT_COSOBL] = &ReadCosObl; - fvFormattedString(&options[OPT_COSOBL].cLongDescr, - "Planet formation simulations predict that an isotropic distribution " - "of\n" - "rotational angular momentum vectors is a typical outcome. This " - "result is\n" - "identical to a uniform distribution in cosine obliquity. Use this " - "option\n" - "to sample a realistic distribution of initial obliquities.\n"); + fvFormattedString( + &options[OPT_COSOBL].cLongDescr, + "Planet formation simulations predict that an isotropic distribution " + "of\n" + "rotational angular momentum vectors is a typical outcome. This " + "result is\n" + "identical to a uniform distribution in cosine obliquity. Use this " + "option\n" + "to sample a realistic distribution of initial obliquities.\n"); fvFormattedString(&options[OPT_RADIUS].cName, "dRadius"); fvFormattedString(&options[OPT_RADIUS].cDescr, "Radius"); @@ -4452,7 +4478,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_RG].cName, "dRadGyra"); fvFormattedString(&options[OPT_RG].cDescr, - "Radius of Gyration; moment of inertia constant"); + "Radius of Gyration; moment of inertia constant"); fvFormattedString(&options[OPT_RG].cDefault, "0.5"); fvFormattedString(&options[OPT_RG].cDimension, "nd"); options[OPT_RG].dDefault = 0.5; @@ -4478,7 +4504,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_ROTPER] = &ReadRotPeriod; fvFormattedString(&options[OPT_ROTRATE].cName, "dRotRate"); - fvFormattedString(&options[OPT_ROTRATE].cDescr, "Rotational Angular Frequency"); + fvFormattedString(&options[OPT_ROTRATE].cDescr, + "Rotational Angular Frequency"); fvFormattedString(&options[OPT_ROTRATE].cDefault, "2*pi/day"); fvFormattedString(&options[OPT_ROTRATE].cNeg, "/Day"); fvFormattedString(&options[OPT_ROTRATE].cDimension, "time^-1"); @@ -4512,7 +4539,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { */ fvFormattedString(&options[OPT_UNITANGLE].cName, "sUnitAngle"); - fvFormattedString(&options[OPT_UNITANGLE].cDescr, "Angle Units: Degrees Radians"); + fvFormattedString(&options[OPT_UNITANGLE].cDescr, + "Angle Units: Degrees Radians"); fvFormattedString(&options[OPT_UNITANGLE].cDefault, "Radians"); options[OPT_UNITANGLE].iModuleBit = 0; options[OPT_UNITANGLE].bNeg = 0; @@ -4521,7 +4549,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_UNITLENGTH].cName, "sUnitLength"); fvFormattedString(&options[OPT_UNITLENGTH].cDescr, - "Length Units: cm m km Solar Earth Jupiter AU"); + "Length Units: cm m km Solar Earth Jupiter AU"); fvFormattedString(&options[OPT_UNITLENGTH].cDefault, "cm"); options[OPT_UNITLENGTH].iModuleBit = 0; options[OPT_UNITLENGTH].bNeg = 0; @@ -4530,7 +4558,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_UNITMASS].cName, "sUnitMass"); fvFormattedString(&options[OPT_UNITMASS].cDescr, - "Mass Units: Grams Kilograms Solar Earth Jupiter Saturn"); + "Mass Units: Grams Kilograms Solar Earth Jupiter Saturn"); fvFormattedString(&options[OPT_UNITMASS].cDefault, "grams"); options[OPT_UNITMASS].iModuleBit = 0; options[OPT_UNITMASS].bNeg = 0; @@ -4539,7 +4567,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_UNITTIME].cName, "sUnitTime"); fvFormattedString(&options[OPT_UNITTIME].cDescr, - "Time Units: Seconds, Days Years Myr Gyr"); + "Time Units: Seconds, Days Years Myr Gyr"); fvFormattedString(&options[OPT_UNITTIME].cDefault, "Seconds"); options[OPT_UNITTIME].iModuleBit = 0; options[OPT_UNITTIME].bNeg = 0; @@ -4548,7 +4576,7 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_UNITTEMP].cName, "sUnitTemp"); fvFormattedString(&options[OPT_UNITTEMP].cDescr, - "Temperature Units: Kelvin Celsius Farenheit"); + "Temperature Units: Kelvin Celsius Farenheit"); fvFormattedString(&options[OPT_UNITTEMP].cDefault, "Kelvin"); options[OPT_UNITTEMP].iModuleBit = 0; options[OPT_UNITTEMP].bNeg = 0; @@ -4556,7 +4584,8 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_UNITTEMP].iFileType = 2; fvFormattedString(&options[OPT_TEMPERATURE].cName, "dTemperature"); - fvFormattedString(&options[OPT_TEMPERATURE].cDescr, "Initial effective temperature"); + fvFormattedString(&options[OPT_TEMPERATURE].cDescr, + "Initial effective temperature"); fvFormattedString(&options[OPT_TEMPERATURE].cDefault, "TSUN"); fvFormattedString(&options[OPT_TEMPERATURE].cDimension, "temperature"); options[OPT_TEMPERATURE].dDefault = TSUN; @@ -4566,20 +4595,21 @@ void InitializeOptionsGeneral(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_USEOUTERTIDALQ].cName, "bUseOuterTidalQ"); fvFormattedString(&options[OPT_USEOUTERTIDALQ].cDescr, - "User outermost layer's tidal Q as body's total tidal Q?"); + "User outermost layer's tidal Q as body's total tidal Q?"); fvFormattedString(&options[OPT_USEOUTERTIDALQ].cDefault, "0"); options[OPT_USEOUTERTIDALQ].iType = 0; options[OPT_USEOUTERTIDALQ].bMultiFile = 1; fnRead[OPT_USEOUTERTIDALQ] = &ReadUseOuterTidalQ; - fvFormattedString(&options[OPT_USEOUTERTIDALQ].cLongDescr, - "The total tidal Q of a body can be computed either as the sum of\n" - "contributions of all layers (mantle, ocean, envelope), or as the " - "tidal Q\n" - "of the outer most layer. When %s is set to 0, the tidal Q is the " - "sum,\n" - "when set to 1, it is the outer layer's (envelope, then ocean, then\n" - "mantle) value.\n", - options[OPT_USEOUTERTIDALQ].cName); + fvFormattedString( + &options[OPT_USEOUTERTIDALQ].cLongDescr, + "The total tidal Q of a body can be computed either as the sum of\n" + "contributions of all layers (mantle, ocean, envelope), or as the " + "tidal Q\n" + "of the outer most layer. When %s is set to 0, the tidal Q is the " + "sum,\n" + "when set to 1, it is the outer layer's (envelope, then ocean, then\n" + "mantle) value.\n", + options[OPT_USEOUTERTIDALQ].cName); /* * @@ -4673,24 +4703,24 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { /* Initialize all parameters describing the option's location */ for (iOpt = 0; iOpt < MODULEOPTEND; iOpt++) { - //memset(options[iOpt].cName, '\0', OPTLEN); + // memset(options[iOpt].cName, '\0', OPTLEN); options[iOpt].cName = NULL; fvFormattedString(&options[iOpt].cName, "null"); options[iOpt].iLine = malloc(MAXFILES * sizeof(int)); options[iOpt].bMultiFile = 0; options[iOpt].iMultiIn = 0; options[iOpt].iType = -1; - //memset(options[iOpt].cDescr, '\0', OPTDESCR); + // memset(options[iOpt].cDescr, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cDescr, "null"); - //memset(options[iOpt].cLongDescr, '\0', OPTLONDESCR); + // memset(options[iOpt].cLongDescr, '\0', OPTLONDESCR); fvFormattedString(&options[iOpt].cLongDescr, "null"); - //memset(options[iOpt].cDefault, '\0', OPTDESCR); + // memset(options[iOpt].cDefault, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cDefault, "null"); - //memset(options[iOpt].cValues, '\0', OPTDESCR); + // memset(options[iOpt].cValues, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cValues, "null"); - //memset(options[iOpt].cNeg, '\0', OPTDESCR); + // memset(options[iOpt].cNeg, '\0', OPTDESCR); fvFormattedString(&options[iOpt].cNeg, "null"); - //memset(options[iOpt].cDimension, '\0', OPTDESCR); + // memset(options[iOpt].cDimension, '\0', OPTDESCR); options[iOpt].dDefault = NAN; options[iOpt].iModuleBit = 0; options[iOpt].bNeg = 0; @@ -4699,7 +4729,7 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { for (iFile = 0; iFile < MAXFILES; iFile++) { options[iOpt].iLine[iFile] = -1; - //memset(options[iOpt].cFile[iFile], '\0', OPTLEN); + // memset(options[iOpt].cFile[iFile], '\0', OPTLEN); fvFormattedString(&options[iOpt].cFile[iFile], "null"); } } From 04465da0de83e7c62a4e01aea5001c82fc63c330 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Thu, 8 Aug 2024 16:09:56 -0700 Subject: [PATCH 18/31] Code now compiles and one test simulation passes! --- src/control.c | 18 +++++++++--------- src/options.c | 14 +++++++++----- src/output.c | 6 +++--- src/vplanet.c | 2 ++ 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/control.c b/src/control.c index 10e4b7619..55240e830 100644 --- a/src/control.c +++ b/src/control.c @@ -1063,7 +1063,7 @@ void fsUnitsAngMom(UNITS *units, char **cUnit) { // strcat(cUnit, "^2/"); // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); - fvFormattedString(cUnit, cUnitMass, "*", cUnitLength, "^2/", cUnitTime); + fvFormattedString(cUnit, "%s*%s^2/%s", cUnitMass, cUnitLength, cUnitTime); free(cUnitMass); free(cUnitLength); free(cUnitTime); @@ -1079,7 +1079,7 @@ void fsUnitsDensity(UNITS *units, char **cUnit) { // strcat(cUnit, "^3"); fsUnitsMass(units->iMass, &cUnitMass); fsUnitsLength(units->iLength, &cUnitLength); - fvFormattedString(cUnit, cUnitMass, "/", cUnitLength, "^3"); + fvFormattedString(cUnit, "%s/%s^3",cUnitMass, cUnitLength); free(cUnitMass); free(cUnitLength); } @@ -1093,7 +1093,7 @@ void fsUnitsVel(UNITS *units, char **cUnit) { // strcat(cUnit, cTmp); fsUnitsLength(units->iLength, &cUnitLength); fsUnitsTime(units->iTime, &cUnitTime); - fvFormattedString(cUnit, cUnitLength, "/", cUnitTime); + fvFormattedString(cUnit, "%s/%s", cUnitLength, cUnitTime); free(cUnitTime); free(cUnitLength); } @@ -1105,7 +1105,7 @@ void fsUnitsRate(int iType, char **cUnit) { // fsUnitsTime(iType, cTmp); // strcat(cUnit, cTmp); fsUnitsTime(iType, &cUnitTime); - fvFormattedString(cUnit, "/", cUnitTime); + fvFormattedString(cUnit, "/%s", cUnitTime); free(cUnitTime); } @@ -1116,7 +1116,7 @@ void fsUnitsRateSquared(int iType, char **cUnit) { // fsUnitsTime(iType, cTmp); // strcat(cUnit, cTmp); fsUnitsTime(iType, &cUnitTime); - fvFormattedString(cUnit, "/", cUnitTime, "^2"); + fvFormattedString(cUnit, "/%s^2", cUnitTime); free(cUnitTime); } @@ -1134,7 +1134,7 @@ void fsUnitsAngRate(UNITS *units, char **cUnit) { // strcat(cUnit, cTmp); fsUnitsAngle(units->iAngle, &cUnitAngle); fsUnitsTime(units->iTime, &cUnitTime); - fvFormattedString(cUnit, cUnitAngle, "/", cUnitTime); + fvFormattedString(cUnit, "%s/%s", cUnitAngle, cUnitTime); free(cUnitTime); free(cUnitAngle); } @@ -1154,7 +1154,7 @@ void fsUnitsEnergy(UNITS *units, char **cUnit) { // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); // strcat(cUnit, "^2"); - fvFormattedString(cUnit, cUnitMass, "*", cUnitLength, "^2/", cUnitTime, "^2"); + fvFormattedString(cUnit, "%s*%s^2/%s^2", cUnitMass, cUnitLength, cUnitTime); free(cUnitMass); free(cUnitLength); free(cUnitTime); @@ -1182,7 +1182,7 @@ void fsUnitsPower(UNITS *units, char **cUnit) { // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); // strcat(cUnit, "^3"); - fvFormattedString(cUnit, cUnitMass, "*", cUnitLength, "^2/", cUnitTime, "^3"); + fvFormattedString(cUnit, "%s*%s^2/%s^3", cUnitMass, cUnitLength, cUnitTime); free(cUnitMass); free(cUnitLength); free(cUnitTime); @@ -1208,7 +1208,7 @@ void fsUnitsEnergyFlux(UNITS *units, char **cUnit) { // fsUnitsTime(units->iTime, cTmp); // strcat(cUnit, cTmp); // strcat(cUnit, ")"); - fvFormattedString(cUnit, cUnitMass, "/", cUnitTime, "^3"); + fvFormattedString(cUnit, "%s/%s^3", cUnitMass, cUnitTime); } double fdUnitsEnergyFlux(int iTime, int iMass, int iLength) { diff --git a/src/options.c b/src/options.c index 5fe9e40d6..e7928eaaf 100644 --- a/src/options.c +++ b/src/options.c @@ -251,7 +251,7 @@ double dNegativeDouble(OPTIONS options, char cFile[], int iVerbose) { void AddOptionStringArray(char *cFile, char *cOption, char ***saInput, int *iNumIndices, int *iNumLines, int *iLine, int iVerbose) { - char *cLine, cTmp[MAXARRAY][OPTLEN]; + char *cLine, cTmp[MAXARRAY][OPTLEN], **saInputCopy; int iPos, iWord, bContinue, iNumWords; FILE *fp; @@ -270,13 +270,18 @@ void AddOptionStringArray(char *cFile, char *cOption, char ***saInput, GetLine(cFile, cOption, &cLine, &iLine[0], iVerbose); GetWords(cLine, cTmp, &iNumWords, &bContinue); *iNumLines = 1; - *saInput = malloc(MAXARRAY * sizeof(char *)); + *saInput = (char **)malloc((iNumWords-1) * sizeof(char *)); + + for (iWord = 0; iWord < iNumWords - 1; iWord++) { + (*saInput)[iWord] = NULL; + } + saInputCopy = *saInput; for (iWord = 0; iWord < iNumWords - 1; iWord++) { - *saInput[iWord] = NULL; // memset(saInput[iWord], '\0', OPTLEN); - fvFormattedString(saInput[iWord], cTmp[iWord + 1]); + //fvFormattedString(saInput[iWord], cTmp[iWord + 1]); + fvFormattedString(&saInputCopy[iWord], cTmp[iWord + 1]); /* Reset cTmp string: If the next time cTmp is filled, the new string is longer than the old, then vestigial characters can remain after a trailing $. */ @@ -1116,7 +1121,6 @@ void ReadSystemName(CONTROL *control, FILES *files, OPTIONS *options, int lTmp = -1; char cTmp[OPTLEN]; - system->cName = NULL; AddOptionString(files->Infile[iFile].cIn, options->cName, cTmp, &lTmp, control->Io.iVerbose); if (lTmp >= 0) { diff --git a/src/output.c b/src/output.c index f6fa972b3..652bb1cc0 100644 --- a/src/output.c +++ b/src/output.c @@ -2008,9 +2008,9 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp, int iBody) { int iCol, iOut, iSubOut, iExtra = 0; - char **cCol; // +2 for brackets + char **cCol; double *dTmp; - char *cUnit=NULL, *cTmp; + char *cUnit=NULL, *cTmp=NULL; cCol=malloc(MODULEOUTEND*sizeof(char*)); for (iCol = 0; iCol < files->Outfile[iBody].iNumCols; iCol++) { @@ -2172,7 +2172,7 @@ void LogBody(BODY *body, CONTROL *control, FILES *files, MODULE *module, void WriteLog(BODY *body, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, fnWriteOutput fnWrite[], int iEnd) { - char *cTime; + char *cTime=NULL; FILE *fp; double dTotTime; diff --git a/src/vplanet.c b/src/vplanet.c index 98da09577..a01014b61 100644 --- a/src/vplanet.c +++ b/src/vplanet.c @@ -73,6 +73,8 @@ int main_impl(int argc, char *argv[]) { fvFormattedString(&control.sGitVersion, "Unknown"); #endif + system.cName=NULL; + /** Must initialize all options and outputs for all modules independent of what is selected. This allows a complete help screen as well as checks during ReadOptions. This From dcf761f8955760a496f387a69fdae0b26d95660d Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Thu, 8 Aug 2024 16:44:49 -0700 Subject: [PATCH 19/31] More fixes, but tests are still erroring or failing. --- src/eqtide.c | 4 ++-- src/module.c | 8 +++++--- src/options.c | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/eqtide.c b/src/eqtide.c index ce531c803..66a90cb4a 100644 --- a/src/eqtide.c +++ b/src/eqtide.c @@ -1752,7 +1752,6 @@ int fiGetModuleIntEqtide(MODULE *module, int iBody) { void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { int iFile, iFound = 0; - char *cTmp; for (iFile = 0; iFile < files->iNumInputs; iFile++) { if (options[OPT_TIDEMODEL].iLine[iFile] >= 0) { @@ -1775,6 +1774,7 @@ void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { } if (iFound == 0) { + char *cTmp; fvFormattedString(&cTmp, options[OPT_TIDEMODEL].cDefault); if (!memcmp(sLower(cTmp), "p2", 2)) { control->Evolve.iEqtideModel = CPL; @@ -1789,8 +1789,8 @@ void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { /* Chicanery. Since I only want this set once, I will make it seem like the user set it. */ options[OPT_TIDEMODEL].iLine[0] = 1; + free(cTmp); } - free(cTmp); } void AssignEqtideDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, diff --git a/src/module.c b/src/module.c index e69c98112..5615c5515 100644 --- a/src/module.c +++ b/src/module.c @@ -1005,9 +1005,11 @@ void VerifyModuleMultiEqtideThermint(BODY *body, UPDATE *update, int iBody, int *iModuleProps, int *iModuleForce) { - if (control->Evolve.iEqtideModel == CTL) { - fprintf(stderr,"ERROR: The CTL EqTide model cannot be coupled to ThermInt.\n"); - exit(EXIT_INPUT); + if (body[iBody].bEqtide && body[iBody].bThermint) { + if (control->Evolve.iEqtideModel == CTL) { + fprintf(stderr,"ERROR: The CTL EqTide model cannot be coupled to ThermInt.\n"); + exit(EXIT_INPUT); + } } body[iBody].dTidalPowMan = 0; diff --git a/src/options.c b/src/options.c index e7928eaaf..e01290e2e 100644 --- a/src/options.c +++ b/src/options.c @@ -270,7 +270,7 @@ void AddOptionStringArray(char *cFile, char *cOption, char ***saInput, GetLine(cFile, cOption, &cLine, &iLine[0], iVerbose); GetWords(cLine, cTmp, &iNumWords, &bContinue); *iNumLines = 1; - *saInput = (char **)malloc((iNumWords-1) * sizeof(char *)); + *saInput = (char **)malloc(MAXARRAY * sizeof(char *)); for (iWord = 0; iWord < iNumWords - 1; iWord++) { (*saInput)[iWord] = NULL; @@ -305,7 +305,7 @@ void AddOptionStringArray(char *cFile, char *cOption, char ***saInput, cOption); } for (iWord = 0; iWord < iNumWords; iWord++) { - fvFormattedString(saInput[*iNumIndices + iWord], cTmp[iWord]); + fvFormattedString(&saInputCopy[*iNumIndices + iWord], cTmp[iWord]); memset(cTmp[iWord], '\0', OPTLEN); } *iNumIndices += iNumWords; From c15999ef04570485faefc4a0b680de1758cd17d3 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 9 Aug 2024 10:46:30 -0700 Subject: [PATCH 20/31] Added checks for when the oxygen mixing ratio is 1. If it is than HRefODrag and FHDiffLim are set to 0. --- src/atmesc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/atmesc.c b/src/atmesc.c index 8c8e709d4..24d80dd7a 100644 --- a/src/atmesc.c +++ b/src/atmesc.c @@ -1791,9 +1791,13 @@ void fnPropsAuxAtmEsc(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, // Diffusion-limited H escape rate double BDIFF = 4.8e19 * pow(body[iBody].dFlowTemp, 0.75); + if (XO == 1) { + body[iBody].dFHDiffLim = 0; + } else { body[iBody].dFHDiffLim = BDIFF * g * ATOMMASS * (QOH - 1.) / (KBOLTZ * body[iBody].dFlowTemp * (1. + XO / (1. - XO))); + } // Is water escaping? if (!fbDoesWaterEscape(body, evolve, io, iBody)) { @@ -3432,12 +3436,17 @@ Modifier for H Ref Flux to include oxygen drag at a snapshot in time void WriteHRefODragMod(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { + // XXX This should probably all just be moved into a function if (body[iBody].dCrossoverMass / ATOMMASS - 1. != 0) { double rat = (body[iBody].dCrossoverMass / ATOMMASS - QOH) / (body[iBody].dCrossoverMass / ATOMMASS - 1.); double XO = fdAtomicOxygenMixingRatio(body[iBody].dSurfaceWaterMass, body[iBody].dOxygenMass); - *dTmp = pow(1. + (XO / (1. - XO)) * QOH * rat, -1); + if (XO == 1) { + *dTmp = 0; + } else { + *dTmp = pow(1. + (XO / (1. - XO)) * QOH * rat, -1); + } } else { *dTmp = -1; } From 74609fc36fcb60900131321f7a8003d59d0baf5f Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 9 Aug 2024 15:17:18 -0700 Subject: [PATCH 21/31] Most string issues found. All the tests pass some of the time. Next up is valgrind. --- src/control.c | 17 +++++++++++++---- src/distorb.c | 4 ++-- src/eqtide.c | 2 +- src/flare.c | 5 +++++ src/options.c | 24 ++++++++++++++++-------- src/output.c | 2 +- src/poise.c | 19 ++++++++++++++----- src/vplanet.c | 1 - tests/Help/test_Help.py | 2 +- 9 files changed, 53 insertions(+), 23 deletions(-) diff --git a/src/control.c b/src/control.c index 55240e830..b5053db23 100644 --- a/src/control.c +++ b/src/control.c @@ -78,6 +78,7 @@ void sort_output(OUTPUT *output, int sorted[]) { SORTED_OUTPUT sorted_output[MODULEOUTEND]; for (iOpt = 0; iOpt < MODULEOUTEND; iOpt++) { sorted_output[iOpt].index = iOpt; + sorted_output[iOpt].name=NULL; fvFormattedString(&sorted_output[iOpt].name, output[iOpt].cName); } qsort(sorted_output, MODULEOUTEND, sizeof(sorted_output[0]), @@ -93,13 +94,16 @@ void sort_output(OUTPUT *output, int sorted[]) { */ void InitializeFiles(FILES *files, int iNumBodies) { - int iBody; + int iBody,iOption; files->cLog = NULL; files->cExe = NULL; for (iBody = 0; iBody < iNumBodies; iBody++) { // Infile must be initilized in ReadBodyNames files->Outfile[iBody].cOut = NULL; + for (iOption=0;iOptionOutfile[iBody].caGrid[iOption] = NULL; + } } } @@ -299,8 +303,12 @@ void WriteDescription(char cLongDescr[], char cDescr[], int iMaxChars) { char **cLine; cLine = malloc(MAXARRAY * sizeof(char *)); + for (iWord=0;iWordiTime, cTmp); // strcat(cUnit, cTmp); - fvFormattedString(cUnit, cUnitLength, "^2/", cUnitTime); + fvFormattedString(cUnit, "%s^2/%s",cUnitLength,cUnitTime); free(cUnitLength); free(cUnitTime); } diff --git a/src/distorb.c b/src/distorb.c index 08103523c..efd06900c 100644 --- a/src/distorb.c +++ b/src/distorb.c @@ -476,7 +476,6 @@ double fndCalcLongA(double dLongP, double dArgP) { void VerifyOrbitModel(CONTROL *control, FILES *files, OPTIONS *options) { int iFile, iFound = 0; - char *cTmp; for (iFile = 0; iFile < files->iNumInputs; iFile++) { if (options[OPT_ORBITMODEL].iLine[iFile] >= 0) { @@ -499,6 +498,7 @@ void VerifyOrbitModel(CONTROL *control, FILES *files, OPTIONS *options) { } if (iFound == 0) { + char *cTmp; fvFormattedString(&cTmp, options[OPT_ORBITMODEL].cDefault); if (!memcmp(sLower(cTmp), "ll2", 3)) { control->Evolve.iDistOrbModel = LL2; @@ -513,8 +513,8 @@ void VerifyOrbitModel(CONTROL *control, FILES *files, OPTIONS *options) { /* Chicanery. Since I only want this set once, I will make it seem like the user set it. */ options[OPT_ORBITMODEL].iLine[0] = 1; + free(cTmp); } - free(cTmp); } diff --git a/src/eqtide.c b/src/eqtide.c index 66a90cb4a..12e18201e 100644 --- a/src/eqtide.c +++ b/src/eqtide.c @@ -1774,7 +1774,7 @@ void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { } if (iFound == 0) { - char *cTmp; + char *cTmp=NULL; fvFormattedString(&cTmp, options[OPT_TIDEMODEL].cDefault); if (!memcmp(sLower(cTmp), "p2", 2)) { control->Evolve.iEqtideModel = CPL; diff --git a/src/flare.c b/src/flare.c index af6f14de1..624b47e0f 100644 --- a/src/flare.c +++ b/src/flare.c @@ -431,6 +431,7 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FLAREYINT].bMultiFile = 1; options[OPT_FLAREYINT].dNeg = 1.0 / DAYSEC; fvFormattedString(&options[OPT_FLAREYINT].cNeg, "1/day"); + fvFormattedString(&options[OPT_FLAREYINT].cDimension,"1/time"); fnRead[OPT_FLAREYINT] = &ReadFlareYInt; fvFormattedString(&options[OPT_FLAREYINT].cLongDescr, " Y-Intercept for flare frequency distribution. Where the curve " @@ -465,6 +466,7 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FLARESLOPE].bMultiFile = 1; options[OPT_FLARESLOPE].dNeg = 1.0 / (DAYSEC * log10(1.0e7)); fvFormattedString(&options[OPT_FLARESLOPE].cNeg, "1/day 1/log10(erg)"); + fvFormattedString(&options[OPT_FLARESLOPE].cDimension,"1/time/energy"); fnRead[OPT_FLARESLOPE] = &ReadFlareSlope; fvFormattedString( &options[OPT_FLARESLOPE].cLongDescr, @@ -501,6 +503,7 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FLAREMINENERGY].bMultiFile = 1; options[OPT_FLAREMINENERGY].dNeg = 1e-7; fvFormattedString(&options[OPT_FLAREMINENERGY].cNeg, "ergs"); + fvFormattedString(&options[OPT_FLAREMINENERGY].cDimension, "energy"); fnRead[OPT_FLAREMINENERGY] = &ReadFlareMinEnergy; fvFormattedString(&options[OPT_FLAREMAXENERGY].cName, "dFlareMaxEnergy"); @@ -512,6 +515,7 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FLAREMAXENERGY].bMultiFile = 1; options[OPT_FLAREMAXENERGY].dNeg = 1e-7; fvFormattedString(&options[OPT_FLAREMAXENERGY].cNeg, "ergs"); + fvFormattedString(&options[OPT_FLAREMAXENERGY].cDimension, "energy"); fnRead[OPT_FLAREMAXENERGY] = &ReadFlareMaxEnergy; fvFormattedString(&options[OPT_LXUVFLARECONST].cName, "dLXUVFlareConst"); @@ -537,6 +541,7 @@ void InitializeOptionsFlare(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FLAREENERGYBIN].bMultiFile = 1; options[OPT_FLAREENERGYBIN].dNeg = 1; fvFormattedString(&options[OPT_FLAREENERGYBIN].cNeg, "None"); + fvFormattedString(&options[OPT_FLAREENERGYBIN].cDimension,"energy"); fnRead[OPT_FLAREENERGYBIN] = &ReadFlareEnergyBin; fvFormattedString(&options[OPT_FLAREFFD].cName, "sFlareFFD"); diff --git a/src/options.c b/src/options.c index e01290e2e..99cd583ee 100644 --- a/src/options.c +++ b/src/options.c @@ -2669,13 +2669,16 @@ void ReadCosObl(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { - int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 1, iNumGrid = 0; + int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 1, iNumGrid = 0,iOption; int k, iOut = -1, *lTmp, iCol, jCol; char **saTmp, *cTmp = NULL, **cOption, *cOut; int iLen1, iLen2; lTmp = malloc(MAXLINES * sizeof(int)); cOption = malloc(MAXARRAY * sizeof(char *)); + for (iOption=0;iOptionInfile[iFile].cIn, options[OPT_OUTPUTORDER].cName, &saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, @@ -2875,13 +2878,16 @@ void ReadOutputOrder(FILES *files, MODULE *module, OPTIONS *options, void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, int iVerbose) { - int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 0, iNumGrid = 0; + int i, j, count, iLen, iNumIndices = 0, bNeg[MAXARRAY], ok = 0, iNumGrid = 0,iOption; int k, iOut = -1, *lTmp; - char **saTmp, *cTmp, **cOption, *cOut; + char **saTmp, *cTmp=NULL, **cOption, *cOut; int iLen1, iLen2; lTmp = malloc(MAXLINES * sizeof(int)); cOption = malloc(MAXARRAY * sizeof(char *)); + for (iOption=0;iOptionInfile[iFile].cIn, options[OPT_GRIDOUTPUT].cName, &saTmp, &iNumIndices, &files->Infile[iFile].iNumLines, @@ -2909,9 +2915,9 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, /* Check for ambiguity */ for (i = 0; i < iNumIndices; i++) { count = 0; /* Number of possibilities */ - for (j = 0; j < OPTLEN; j++) { - cTmp[j] = 0; - } + // for (j = 0; j < OPTLEN; j++) { + // cTmp[j] = 0; + // } fvFormattedString(&cTmp, saTmp[i]); for (j = 0; j < MODULEOUTEND; j++) { for (k = 0; k < OPTLEN; k++) { @@ -2930,7 +2936,7 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, if (output[j].bGrid == 1 || output[j].bGrid == 2) { iNumGrid += 1; } - j = MODULEOUTEND; /* Poor man's break! */ + j = MODULEOUTEND; /* Break! */ } else { if (iLen1 < iLen2) { iLen = iLen1; @@ -3001,7 +3007,7 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, fvFormattedString(&files->Outfile[iFile - 1].caCol[i], output[iOut].cName); } else { - memset(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], '\0', OPTLEN); + //memset(files->Outfile[iFile - 1].caGrid[iNumGrid - 1], '\0', OPTLEN); fvFormattedString(&files->Outfile[iFile - 1].caGrid[iNumGrid - 1], output[iOut].cName); } @@ -3016,6 +3022,8 @@ void ReadGridOutput(FILES *files, OPTIONS *options, OUTPUT *output, int iFile, files->Outfile[iFile - 1].iNumGrid = iNumGrid; free(lTmp); + free(cTmp); + free(cOption); } void ReadOverwrite(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, diff --git a/src/output.c b/src/output.c index 652bb1cc0..fef08f119 100644 --- a/src/output.c +++ b/src/output.c @@ -2218,7 +2218,7 @@ void WriteOutput(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, int iBody, iCol, iOut, iSubOut, iExtra = 0, iGrid, iLat, jBody, j; double dCol[NUMOPT], *dTmp, dGrid[NUMOPT]; FILE *fp; - char *cUnit, *cPoiseGrid, *cLaplaceFunc; + char *cUnit, *cPoiseGrid=NULL, *cLaplaceFunc; /* Write out all data columns for each body. As some data may span more than 1 column, we search the input list sequentially, adding iExtra to the diff --git a/src/poise.c b/src/poise.c index eb0230cee..612a4b998 100644 --- a/src/poise.c +++ b/src/poise.c @@ -1153,6 +1153,7 @@ void InitializeOptionsPoise(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_PLANCKA].cName, "dPlanckA"); fvFormattedString(&options[OPT_PLANCKA].cDescr, "Constant 'A' used in OLR calculation"); fvFormattedString(&options[OPT_PLANCKA].cDefault, "203.3"); + fvFormattedString(&options[OPT_PLANCKA].cDimension, "nd"); options[OPT_PLANCKA].dDefault = 203.3; options[OPT_PLANCKA].iType = 2; options[OPT_PLANCKA].bMultiFile = 1; @@ -3331,7 +3332,7 @@ void WriteDailyInsol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { - char *cOut; + char *cOut=NULL; FILE *fp; int iLat, iDay; double dTime; @@ -3378,13 +3379,14 @@ void WriteDailyInsol(BODY *body, CONTROL *control, OUTPUT *output, } fclose(fp); + free(cOut); } void WritePlanckB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { - char *cOut; + char *cOut=NULL; FILE *fp; int iLat, iDay; double dTime; @@ -3432,13 +3434,14 @@ void WritePlanckB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } fclose(fp); + free(cOut); } void WriteSeasonalTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { - char *cOut; + char *cOut=NULL; FILE *fp; int iLat, iDay; double dTime; @@ -3488,13 +3491,14 @@ void WriteSeasonalTemp(BODY *body, CONTROL *control, OUTPUT *output, } fclose(fp); + free(cOut); } void WriteSeasonalFluxes(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { - char *cOutM, *cOutI, *cOutO, *cOutD; + char *cOutM=NULL, *cOutI=NULL, *cOutO=NULL, *cOutD=NULL; FILE *fpM, *fpI, *fpO, *fpD; int iLat, iDay; double dTime; @@ -3584,13 +3588,17 @@ void WriteSeasonalFluxes(BODY *body, CONTROL *control, OUTPUT *output, fclose(fpI); fclose(fpO); fclose(fpD); + free(cOutM); + free(cOutI); + free(cOutO); + free(cOutD); } void WriteSeasonalIceBalance(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { - char *cOut; + char *cOut=NULL; FILE *fp; int iLat, iDay; double dTime; @@ -3637,6 +3645,7 @@ void WriteSeasonalIceBalance(BODY *body, CONTROL *control, OUTPUT *output, } fclose(fp); + free(cOut); } void WriteFluxMerid(BODY *body, CONTROL *control, OUTPUT *output, diff --git a/src/vplanet.c b/src/vplanet.c index a01014b61..184a4f284 100644 --- a/src/vplanet.c +++ b/src/vplanet.c @@ -29,7 +29,6 @@ We need this wrapper so we can call `main_impl` from Python. int main_impl(int argc, char *argv[]) { #ifdef DEBUG #ifdef __x86_64__ - // feenableexcept(FE_INVALID | FE_OVERFLOW); _MM_SET_EXCEPTION_MASK(_MM_GET_EXCEPTION_MASK() & ~_MM_MASK_INVALID); _MM_SET_EXCEPTION_MASK(_MM_GET_EXCEPTION_MASK() & ~_MM_MASK_OVERFLOW); _MM_SET_EXCEPTION_MASK(_MM_GET_EXCEPTION_MASK() & ~_MM_MASK_DIV_ZERO); diff --git a/tests/Help/test_Help.py b/tests/Help/test_Help.py index 747282a00..3b6394506 100644 --- a/tests/Help/test_Help.py +++ b/tests/Help/test_Help.py @@ -7,7 +7,7 @@ def test_Help(): try: - subprocess.check_output("bin/vplanet -H", shell=True) + subprocess.check_output("../../bin/vplanet -H", shell=True) except subprocess.CalledProcessError: raise ValueError(f"Long help failed") else: From 4a1f98488398d09099edbfa405dbe1af0c7dd6cc Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Mon, 12 Aug 2024 18:40:44 -0700 Subject: [PATCH 22/31] Refactoring ReadInitialOptions... --- src/control.c | 38 ++++++++++++++++++++++----- src/control.h | 2 +- src/options.c | 72 +++++++++++++++++++++------------------------------ src/output.c | 5 ++++ src/system.c | 4 +++ src/system.h | 2 ++ src/vplanet.h | 2 +- 7 files changed, 74 insertions(+), 51 deletions(-) diff --git a/src/control.c b/src/control.c index b5053db23..c3ff30453 100644 --- a/src/control.c +++ b/src/control.c @@ -93,18 +93,44 @@ void sort_output(OUTPUT *output, int sorted[]) { * Struct Initialization */ -void InitializeFiles(FILES *files, int iNumBodies) { - int iBody,iOption; +void InitializeFiles(FILES *files, OPTIONS **options, char **saBodyFiles, int iNumBodies) { + int iFile,iOption,iNumFiles; + + iNumFiles=iNumBodies-1; + + /* With body files identified, must allocate space */ + files->Infile = malloc(files->iNumInputs * sizeof(INFILE)); + files->Infile[0].bLineOK = malloc(files->Infile[0].iNumLines * sizeof(int)); + + //InfileCopy(&files->Infile[0], infile); + + files->Outfile = malloc(iNumFiles * sizeof(OUTFILE)); + // for (iIndex = 0; iIndex < iNumIndices; iIndex++) { + // memset(files->Outfile[iIndex].cOut, '\0', NAMELEN); + // } files->cLog = NULL; files->cExe = NULL; - for (iBody = 0; iBody < iNumBodies; iBody++) { - // Infile must be initilized in ReadBodyNames - files->Outfile[iBody].cOut = NULL; + + for (iFile = 0; iFile < iNumFiles; iFile++) { + files->Infile[iFile].cIn = NULL; + fvFormattedString(&files->Infile[iFile].cIn, saBodyFiles[iFile]); + + files->Outfile[iFile].cOut = NULL; + // Outfile names assigned after reading in output file names + for (iOption=0;iOptionOutfile[iBody].caGrid[iOption] = NULL; + files->Outfile[iFile].caGrid[iOption] = NULL; + + options[iOption]->iLine[iFile] = -1; + options[iOption]->cFile[iFile] = NULL; + options[iOption]->cFile = malloc(iNumFiles*sizeof(char*)); + // memset(options[iOpt].cFile[iFile], '\0', OPTLEN); + fvFormattedString(&options[iOption]->cFile[iFile], "null"); } } + + } void InitializePropsAux(CONTROL *control, MODULE *module) { diff --git a/src/control.h b/src/control.h index 34bfb2375..7795ce881 100644 --- a/src/control.h +++ b/src/control.h @@ -17,7 +17,7 @@ void InitializeControl(CONTROL *, MODULE *); void InitializeControlEvolve(BODY *, CONTROL *, MODULE *, UPDATE *); void InitializeControlVerifyProperty(CONTROL *); -void InitializeFiles(FILES *, int); +void InitializeFiles(FILES *, OPTIONS **, char **, int); void WriteHelpOption(OPTIONS *, int); void WriteHelpOutput(OUTPUT *, int); diff --git a/src/options.c b/src/options.c index 99cd583ee..d3c502ff8 100644 --- a/src/options.c +++ b/src/options.c @@ -582,10 +582,11 @@ void UpdateFoundOptionMulti(INFILE *input, OPTIONS *options, int *iLine, The user should be able to figure it out from there. */ options->iLine[iFile] = iLine[0]; - fvFormattedString(&options->cFile[iFile], input->cIn); for (iLineNow = 0; iLineNow < iNumLines; iLineNow++) { input->bLineOK[iLine[iLineNow]] = 1; } + + fvFormattedString(&options->cFile[iFile], input->cIn); } void CheckDuplication(FILES *files, OPTIONS *options, char cFile[], int iLine, @@ -1131,16 +1132,16 @@ void ReadSystemName(CONTROL *control, FILES *files, OPTIONS *options, } } -void ReadBodyFileNames(CONTROL *control, FILES *files, OPTIONS *options, - INFILE *infile) { - int iIndex, iNumIndices = 0, iNumLines = 0; +void ReadBodyFileNames(BODY **body,CONTROL *control, FILES *files, OPTIONS *options, + INFILE *infile, char ***saBodyFiles, int *iStartLine, int *iNumLines) { + int iIndex, iNumIndices = 0; int *lTmp; - char **saTmp; lTmp = malloc(MAXLINES * sizeof(int)); + *iNumLines = 0; - AddOptionStringArray(infile->cIn, options->cName, &saTmp, &iNumIndices, - &iNumLines, lTmp, control->Io.iVerbose); + AddOptionStringArray(infile->cIn, options->cName, saBodyFiles, &iNumIndices, + iNumLines, lTmp, control->Io.iVerbose); if (lTmp[0] >= 0) { if (iNumIndices == 0) { @@ -1166,25 +1167,9 @@ void ReadBodyFileNames(CONTROL *control, FILES *files, OPTIONS *options, exit(EXIT_INPUT); } - /* With body files identified, must allocate space */ - files->Infile = malloc(files->iNumInputs * sizeof(INFILE)); - files->Infile[0].bLineOK = malloc(infile->iNumLines * sizeof(int)); - - InfileCopy(&files->Infile[0], infile); - - for (iIndex = 0; iIndex < iNumIndices; iIndex++) { - files->Infile[iIndex + 1].cIn = NULL; - fvFormattedString(&files->Infile[iIndex + 1].cIn, saTmp[iIndex]); - } - control->Evolve.iNumBodies = iNumIndices; - files->Outfile = malloc(iNumIndices * sizeof(OUTFILE)); - // for (iIndex = 0; iIndex < iNumIndices; iIndex++) { - // memset(files->Outfile[iIndex].cOut, '\0', NAMELEN); - // } - - UpdateFoundOptionMulti(&files->Infile[0], options, lTmp, iNumLines, 0); - + *body = malloc(control->Evolve.iNumBodies * sizeof(BODY)); + *iStartLine = lTmp[0]; free(lTmp); } @@ -1196,8 +1181,9 @@ void ReadBodyFileNames(CONTROL *control, FILES *files, OPTIONS *options, void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, - SYSTEM *system, char infile[]) { - int iFile, iBody, iModule; + SYSTEM *system, char cInfile[]) { + int iFile, iBody, iModule,iBodyFileLine,iNumLines; + char **saBodyFiles; INFILE input; input.cIn = NULL; @@ -1205,21 +1191,19 @@ void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, /* Initialize primary input file */ InitializeInput(&input); - /* First find input files */ - ReadBodyFileNames(control, files, &options[OPT_BODYFILES], &input); - system->iNumBodies = control->Evolve.iNumBodies; + /* Read sBodyFiles, which must be in the primary file */ + ReadBodyFileNames(body, control, files, &options[OPT_BODYFILES], &input, &saBodyFiles, &iBodyFileLine, &iNumLines); - // allocate the body struct - *body = malloc(control->Evolve.iNumBodies * sizeof(BODY)); + InitializeFiles(files, &options, saBodyFiles, control->Evolve.iNumBodies); + + UpdateFoundOptionMulti(&files->Infile[0], options, &iBodyFileLine, iNumLines, 0); /* Initialize functions in the module struct */ InitializeModule(*body, control, module); - /* Is iVerbose set in primary input? */ + /* Is iVerbose set ? */ ReadVerbose(files, &options[OPT_VERBOSE], &control->Io.iVerbose, 0); - /* Now we can search through files for all options. First we scan the files - * for Verbosity */ /* We have to initialize other input files first */ for (iFile = 1; iFile < files->iNumInputs; iFile++) { InitializeInput(&files->Infile[iFile]); @@ -3656,6 +3640,8 @@ void ReadOptions(BODY **body, CONTROL *control, FILES *files, MODULE *module, ReadInitialOptions(body, control, files, module, options, output, system, infile); + InitializeSystem(*body, control,system); + /* Now that we know how many bodies there are, initialize more features */ *update = malloc(control->Evolve.iNumBodies * sizeof(UPDATE)); @@ -3665,8 +3651,6 @@ void ReadOptions(BODY **body, CONTROL *control, FILES *files, MODULE *module, /* Initialize module control */ InitializeControl(control, module); - InitializeFiles(files, control->Evolve.iNumBodies); - /* Now read in multi-module options */ ReadOptionsGeneral(*body, control, files, module, options, output, system, fnRead); @@ -4716,7 +4700,15 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { /* Initialize all parameters describing the option's location */ for (iOpt = 0; iOpt < MODULEOPTEND; iOpt++) { // memset(options[iOpt].cName, '\0', OPTLEN); + options[iOpt].cName = NULL; + options[iOpt].cDescr = NULL; + options[iOpt].cLongDescr = NULL; + options[iOpt].cDefault = NULL; + options[iOpt].cValues = NULL; + options[iOpt].cNeg = NULL; + options[iOpt].cDimension = NULL; + fvFormattedString(&options[iOpt].cName, "null"); options[iOpt].iLine = malloc(MAXFILES * sizeof(int)); options[iOpt].bMultiFile = 0; @@ -4738,12 +4730,6 @@ void InitializeOptions(OPTIONS *options, fnReadOption *fnRead) { options[iOpt].bNeg = 0; options[iOpt].iFileType = 2; options[iOpt].dNeg = 0; - - for (iFile = 0; iFile < MAXFILES; iFile++) { - options[iOpt].iLine[iFile] = -1; - // memset(options[iOpt].cFile[iFile], '\0', OPTLEN); - fvFormattedString(&options[iOpt].cFile[iFile], "null"); - } } /* Now populate entries for general options. */ diff --git a/src/output.c b/src/output.c index fef08f119..0049f80fa 100644 --- a/src/output.c +++ b/src/output.c @@ -2468,6 +2468,11 @@ void InitializeOutput(FILES *files, OUTPUT *output, fnWriteOutput fnWrite[]) { for (iOut = 0; iOut < MODULEOUTEND; iOut++) { //memset(output[iOut].cName, '\0', OPTLEN); + output[iOut].cName = NULL; + output[iOut].cDescr = NULL; + output[iOut].cLongDescr = NULL; + output[iOut].cNeg = NULL; + fvFormattedString(&output[iOut].cName, "null"); output[iOut].bGrid = 0; output[iOut].bNeg = 0; /* Is a negative option allowed */ diff --git a/src/system.c b/src/system.c index 4c7d7a22b..21a598107 100644 --- a/src/system.c +++ b/src/system.c @@ -7,6 +7,10 @@ #include "vplanet.h" +void InitializeSystem(BODY *body,CONTROL *control,SYSTEM *system) { + system->iNumBodies = control->Evolve.iNumBodies; +} + /* * Physical Relationships */ diff --git a/src/system.h b/src/system.h index f481529c5..c38dabb4a 100644 --- a/src/system.h +++ b/src/system.h @@ -7,6 +7,8 @@ /* @cond DOXYGEN_OVERRIDE */ +void InitializeSystem(BODY *,CONTROL *,SYSTEM *); + double fdSemiToPeriod(double, double); double fdPeriodToSemi(double, double); double fdSemiToMeanMotion(double, double); diff --git a/src/vplanet.h b/src/vplanet.h index a784ac15d..309341c5b 100644 --- a/src/vplanet.h +++ b/src/vplanet.h @@ -1963,7 +1963,7 @@ struct OPTIONS { int iMultiIn; int *iLine; /**< Option's Line number in Input File */ char *iFile; - char *cFile[MAXFILES]; /**< File Name Where Set */ + char **cFile; /**< File Name Where Set */ int bNeg; /**< Is There a Negative Option? */ char *cNeg; /**< Description of Negative Unit Conversion */ int iFileType; /**< What type of file can option be in? 0 = primary only, 1 = From 9451b74c08c7a86ebebbe1b7792694cd6655a8c2 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 13 Aug 2024 16:59:42 -0400 Subject: [PATCH 23/31] Finished first pass refactoring ReadBodyNames. Code compiles... --- src/control.c | 58 ++++++++++++++------------- src/control.h | 2 +- src/options.c | 107 +++++++++++++++++++++----------------------------- src/options.h | 4 +- src/vplanet.c | 32 ++++++++------- 5 files changed, 96 insertions(+), 107 deletions(-) diff --git a/src/control.c b/src/control.c index c3ff30453..31a8613e4 100644 --- a/src/control.c +++ b/src/control.c @@ -93,44 +93,46 @@ void sort_output(OUTPUT *output, int sorted[]) { * Struct Initialization */ -void InitializeFiles(FILES *files, OPTIONS **options, char **saBodyFiles, int iNumBodies) { - int iFile,iOption,iNumFiles; +void InitializeFilesOptions(FILES *files,OPTIONS *options, int iFile) { + int iOption; - iNumFiles=iNumBodies-1; - - /* With body files identified, must allocate space */ - files->Infile = malloc(files->iNumInputs * sizeof(INFILE)); - files->Infile[0].bLineOK = malloc(files->Infile[0].iNumLines * sizeof(int)); - - //InfileCopy(&files->Infile[0], infile); + for (iOption=0;iOption 0) { + files->Outfile[iFile-1].caGrid[iOption] = NULL; + } + options[iOption].iLine[iFile] = -1; + options[iOption].cFile[iFile] = NULL; + options[iOption].cFile = malloc(files->iNumInputs*sizeof(char*)); + fvFormattedString(&options[iOption].cFile[iFile], "null"); + } +} - files->Outfile = malloc(iNumFiles * sizeof(OUTFILE)); - // for (iIndex = 0; iIndex < iNumIndices; iIndex++) { - // memset(files->Outfile[iIndex].cOut, '\0', NAMELEN); - // } +void InitializeFiles(FILES *files, OPTIONS *options, char *sPrimaryFile, char **saBodyFiles, int iNumBodies) { + int iFile; + files->iNumInputs = iNumBodies + 1; files->cLog = NULL; files->cExe = NULL; + files->Infile = malloc(files->iNumInputs * sizeof(INFILE)); + files->Outfile = malloc(files->iNumInputs-1 * sizeof(OUTFILE)); - for (iFile = 0; iFile < iNumFiles; iFile++) { + for (iFile = 0; iFile < files->iNumInputs; iFile++) { files->Infile[iFile].cIn = NULL; - fvFormattedString(&files->Infile[iFile].cIn, saBodyFiles[iFile]); - - files->Outfile[iFile].cOut = NULL; - // Outfile names assigned after reading in output file names - - for (iOption=0;iOptionOutfile[iFile].caGrid[iOption] = NULL; + if (iFile == 0) { + files->Infile[0].iNumLines = iGetNumLines(sPrimaryFile); + fvFormattedString(&files->Infile[0].cIn, sPrimaryFile); + } else { + CheckFileExists(saBodyFiles[iFile]); + files->Infile[iFile].iNumLines = iGetNumLines(saBodyFiles[iFile-1]); + fvFormattedString(&files->Infile[iFile].cIn, saBodyFiles[iFile-1]); - options[iOption]->iLine[iFile] = -1; - options[iOption]->cFile[iFile] = NULL; - options[iOption]->cFile = malloc(iNumFiles*sizeof(char*)); - // memset(options[iOpt].cFile[iFile], '\0', OPTLEN); - fvFormattedString(&options[iOption]->cFile[iFile], "null"); + files->Outfile[iFile-1].cOut = NULL; + // Outfile names assigned after reading in output file names } - } - + RecordCommentsAndWhiteSpace(&files->Infile[iFile]); + InitializeFilesOptions(files,options,iFile); + } } void InitializePropsAux(CONTROL *control, MODULE *module) { diff --git a/src/control.h b/src/control.h index 7795ce881..eb5fc2713 100644 --- a/src/control.h +++ b/src/control.h @@ -17,7 +17,7 @@ void InitializeControl(CONTROL *, MODULE *); void InitializeControlEvolve(BODY *, CONTROL *, MODULE *, UPDATE *); void InitializeControlVerifyProperty(CONTROL *); -void InitializeFiles(FILES *, OPTIONS **, char **, int); +void InitializeFiles(FILES *, OPTIONS *, char *,char **, int); void WriteHelpOption(OPTIONS *, int); void WriteHelpOutput(OUTPUT *, int); diff --git a/src/options.c b/src/options.c index d3c502ff8..c60995e37 100644 --- a/src/options.c +++ b/src/options.c @@ -27,12 +27,8 @@ void NotPrimaryInput(int iFile, char cName[], char cFile[], int iLine, } } -/* Returns the line with the desiried options AND asserts no duplicate - entries. cLine is the entire text of the line, iLine is the line - number. */ - -/* Is the first non-white space a #? I so, return 1 */ -int CheckComment(char cLine[], int iLen) { +/* Commented lines start with a # */ +int fbCommentedLine(char cLine[], int iLen) { int iPos; for (iPos = 0; iPos < iLen; iPos++) { @@ -63,7 +59,7 @@ void GetLine(char *cFile, char *cOption, char **cLine, int *iLine, memset(cWord, '\0', OPTLEN); while (fgets(cTmp, LINE, fp) != NULL) { - if (!CheckComment(cTmp, LINE)) { + if (!fbCommentedLine(cTmp, LINE)) { sscanf(cTmp, "%s", cWord); if (memcmp(cWord, cOption, iLen + 1) == 0) { /* Parameter Found! */ @@ -499,44 +495,46 @@ int iGetNumLines(char *cFile) { return iNumLines; } -void InitializeInput(INFILE *input) { - int iLine, iPos, bBlank; +void CheckFileExists(char *cFile) { FILE *fp; - char cLine[LINE]; - fp = fopen(input->cIn, "r"); + fp = fopen(cFile, "r"); if (fp == NULL) { - fprintf(stderr, "ERROR: Unable to open %s.\n", input->cIn); + fprintf(stderr, "ERROR: Unable to open %s for reading.\n", cFile); exit(EXIT_INPUT); } - input->iNumLines = iGetNumLines(input->cIn); - input->bLineOK = malloc(input->iNumLines * sizeof(int)); - /* - input->cSpecies[0] = 0; - input->cReactions[0] = 0; - */ + fclose(fp); +} - for (iLine = 0; iLine < input->iNumLines; iLine++) { - input->bLineOK[iLine] = 0; +int fbBlankLine(char *cLine,int iLineLength) { + int iPos,bBlank = 0; + for (iPos = 0; iPos < LINE; iPos++) { + if (!isspace(cLine[iPos]) && cLine[iPos] != '\0') { + bBlank = 1; + } + } + return bBlank; +} + +void RecordCommentsAndWhiteSpace(INFILE *infile) { + int iLine, iPos, bBlank; + char cLine[LINE]; + FILE *fp; + + fp = fopen(infile->cIn, "r"); + infile->bLineOK = malloc(infile->iNumLines * sizeof(int)); + + for (iLine = 0; iLine < infile->iNumLines; iLine++) { + infile->bLineOK[iLine] = 0; memset(cLine, '\0', LINE); + // XXX Isn't this the same as CheckFileExists? if (fgets(cLine, LINE, fp) == NULL) { - fprintf(stderr, "ERROR: Unable to open %s.\n", input->cIn); + fprintf(stderr, "ERROR: Unable to open %s.\n", infile->cIn); exit(EXIT_INPUT); } - if (CheckComment(cLine, LINE)) { - input->bLineOK[iLine] = 1; - } else { - // Is it a blank line? - bBlank = 0; - for (iPos = 0; iPos < LINE; iPos++) { - if (!isspace(cLine[iPos]) && cLine[iPos] != '\0') { - bBlank = 1; - } - } - if (!bBlank) { - input->bLineOK[iLine] = 1; - } + if (fbCommentedLine(cLine, LINE) || fbBlankLine(cLine,LINE)) { + infile->bLineOK[iLine] = 1; } } } @@ -1133,14 +1131,11 @@ void ReadSystemName(CONTROL *control, FILES *files, OPTIONS *options, } void ReadBodyFileNames(BODY **body,CONTROL *control, FILES *files, OPTIONS *options, - INFILE *infile, char ***saBodyFiles, int *iStartLine, int *iNumLines) { - int iIndex, iNumIndices = 0; - int *lTmp; + char *cFile, char ***saBodyFiles, int *iStartLine, int *iNumLines) { + int iNumIndices,*lTmp; lTmp = malloc(MAXLINES * sizeof(int)); - *iNumLines = 0; - - AddOptionStringArray(infile->cIn, options->cName, saBodyFiles, &iNumIndices, + AddOptionStringArray(cFile, options->cName, saBodyFiles, &iNumIndices, iNumLines, lTmp, control->Io.iVerbose); if (lTmp[0] >= 0) { @@ -1149,21 +1144,20 @@ void ReadBodyFileNames(BODY **body,CONTROL *control, FILES *files, OPTIONS *opti fprintf(stderr, "ERROR: No files supplied for option %s.\n", options->cName); } - LineExit(infile->cIn, lTmp[0]); + LineExit(cFile, lTmp[0]); } - files->iNumInputs = iNumIndices + 1; - if (files->iNumInputs >= MAXFILES) { + if (iNumIndices >= MAXFILES) { fprintf(stderr, "ERROR: Number of input files (%d) exceeds MAXFILES (%d).\n", - files->iNumInputs, MAXFILES); + iNumIndices, MAXFILES); fprintf( stderr, "Either use less body files, or increase MAXFILES in vplanet.h.\n"); - LineExit(infile->cIn, lTmp[0]); + LineExit(cFile, lTmp[0]); } } else { fprintf(stderr, "ERROR: Option %s is required in file %s.\n", - options->cName, infile->cIn); + options->cName, cFile); exit(EXIT_INPUT); } @@ -1181,22 +1175,15 @@ void ReadBodyFileNames(BODY **body,CONTROL *control, FILES *files, OPTIONS *opti void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, OUTPUT *output, - SYSTEM *system, char cInfile[]) { + SYSTEM *system, char *sPrimaryFile) { int iFile, iBody, iModule,iBodyFileLine,iNumLines; char **saBodyFiles; - INFILE input; - - input.cIn = NULL; - fvFormattedString(&input.cIn, infile); - /* Initialize primary input file */ - InitializeInput(&input); - /* Read sBodyFiles, which must be in the primary file */ - ReadBodyFileNames(body, control, files, &options[OPT_BODYFILES], &input, &saBodyFiles, &iBodyFileLine, &iNumLines); + ReadBodyFileNames(body, control, files, &options[OPT_BODYFILES], sPrimaryFile, &saBodyFiles, &iBodyFileLine, &iNumLines); - InitializeFiles(files, &options, saBodyFiles, control->Evolve.iNumBodies); + InitializeFiles(files, options, sPrimaryFile, saBodyFiles, control->Evolve.iNumBodies); - UpdateFoundOptionMulti(&files->Infile[0], options, &iBodyFileLine, iNumLines, 0); + UpdateFoundOptionMulti(&files->Infile[0], &options[OPT_BODYFILES], &iBodyFileLine, iNumLines, 0); /* Initialize functions in the module struct */ InitializeModule(*body, control, module); @@ -1206,7 +1193,6 @@ void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, /* We have to initialize other input files first */ for (iFile = 1; iFile < files->iNumInputs; iFile++) { - InitializeInput(&files->Infile[iFile]); ReadVerbose(files, options, &control->Io.iVerbose, iFile); } @@ -1229,13 +1215,10 @@ void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, for (iBody = 0; iBody < control->Evolve.iNumBodies; iBody++) { FinalizeModule(*body, control, module, iBody); } - /* Check that selected modules are compatable */ + for (iBody = 0; iBody < control->Evolve.iNumBodies; iBody++) { VerifyModuleCompatability(*body, control, files, module, options, iBody); } - - - free(input.bLineOK); } void AssignDefaultDouble(OPTIONS *options, double *dOption, int iNumFiles) { diff --git a/src/options.h b/src/options.h index c4a5eb403..18f67ffd4 100644 --- a/src/options.h +++ b/src/options.h @@ -120,7 +120,9 @@ /* @cond DOXYGEN_OVERRIDE */ void GetWords(char cLine[], char[MAXARRAY][OPTLEN], int *, int *); - +int iGetNumLines(char *); +void CheckFileExists(char *); +void RecordCommentsAndWhiteSpace(INFILE *); void InitializeOptions(OPTIONS *, fnReadOption *); void ReadOptions(BODY **, CONTROL *, FILES *, MODULE *, OPTIONS *, OUTPUT *, SYSTEM *, UPDATE **, fnReadOption *, char[]); diff --git a/src/vplanet.c b/src/vplanet.c index 184a4f284..3c6709c46 100644 --- a/src/vplanet.c +++ b/src/vplanet.c @@ -50,7 +50,7 @@ int main_impl(int argc, char *argv[]) { dStartTime = time(NULL); */ - int iOption, iVerbose, iQuiet, iOverwrite; + int iArg, iVerbose, iQuiet, iOverwrite; OPTIONS *options; OUTPUT *output; CONTROL control; @@ -59,7 +59,7 @@ int main_impl(int argc, char *argv[]) { MODULE module; FILES files; SYSTEM system; - char *infile = NULL; + char *sPrimaryFile = NULL; fnReadOption fnRead[MODULEOPTEND]; // XXX Pointers? fnWriteOutput fnWrite[MODULEOUTEND]; fnUpdateVariable ***fnUpdate; @@ -109,23 +109,23 @@ int main_impl(int argc, char *argv[]) { control.Io.bOverwrite = -1; /* Check for flags */ - for (iOption = 1; iOption < argc; iOption++) { - if (memcmp(argv[iOption], "-v", 2) == 0) { + for (iArg = 1; iArg < argc; iArg++) { + if (memcmp(argv[iArg], "-v", 2) == 0) { control.Io.iVerbose = 5; - iVerbose = iOption; + iVerbose = iArg; } - if (memcmp(argv[iOption], "-q", 2) == 0) { + if (memcmp(argv[iArg], "-q", 2) == 0) { control.Io.iVerbose = 0; - iQuiet = iOption; + iQuiet = iArg; } - if (memcmp(argv[iOption], "-f", 2) == 0) { + if (memcmp(argv[iArg], "-f", 2) == 0) { control.Io.bOverwrite = 1; - iOverwrite = iOption; + iOverwrite = iArg; } - if (memcmp(argv[iOption], "-h", 2) == 0) { + if (memcmp(argv[iArg], "-h", 2) == 0) { Help(options, output, files.cExe, 0); } - if (memcmp(argv[iOption], "-H", 2) == 0) { + if (memcmp(argv[iArg], "-H", 2) == 0) { Help(options, output, files.cExe, 1); } } @@ -136,15 +136,17 @@ int main_impl(int argc, char *argv[]) { } /* Now identify input file, usually vpl.in */ - for (iOption = 1; iOption < argc; iOption++) { - if (iOption != iVerbose && iOption != iQuiet && iOption != iOverwrite) { - fvFormattedString(&infile, argv[iOption]); + for (iArg = 1; iArg < argc; iArg++) { + if (iArg != iVerbose && iArg != iQuiet && iArg != iOverwrite) { + fvFormattedString(&sPrimaryFile, argv[iArg]); } } + CheckFileExists(sPrimaryFile); + /* Read input files */ ReadOptions(&body, &control, &files, &module, options, output, &system, - &update, fnRead, infile); + &update, fnRead, sPrimaryFile); if (control.Io.iVerbose >= VERBINPUT) { printf("Input files read.\n"); From 90067155b479e254b235ca2d35084989c196175a Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 13 Aug 2024 17:13:50 -0400 Subject: [PATCH 24/31] Merged in main (Breimann wind model) --- examples/MagneticBraking/MagneticBraking.png | Bin 755712 -> 976539 bytes .../MagneticBrakingTorques.png | Bin 0 -> 509313 bytes .../MagneticBraking_MBOnly.png | Bin 0 -> 933712 bytes examples/MagneticBraking/README.rst | 41 +++++- examples/MagneticBraking/a_breimann.in | 12 ++ examples/MagneticBraking/a_breimannslow.in | 12 ++ examples/MagneticBraking/a_matt.in | 5 +- examples/MagneticBraking/a_mattslow.in | 12 ++ examples/MagneticBraking/a_reiners.in | 5 +- examples/MagneticBraking/a_sk.in | 5 +- examples/MagneticBraking/b_breimann.in | 12 ++ examples/MagneticBraking/b_breimannslow.in | 12 ++ examples/MagneticBraking/b_matt.in | 5 +- examples/MagneticBraking/b_mattslow.in | 12 ++ examples/MagneticBraking/b_reiners.in | 5 +- examples/MagneticBraking/b_sk.in | 5 +- examples/MagneticBraking/kepler.png | Bin 299127 -> 1675718 bytes examples/MagneticBraking/makeplot.py | 139 ++++++++++++++++-- examples/MagneticBraking/vpl.in | 8 +- src/stellar.c | 90 +++++++++++- src/stellar.h | 9 ++ 21 files changed, 348 insertions(+), 41 deletions(-) create mode 100644 examples/MagneticBraking/MagneticBrakingTorques.png create mode 100644 examples/MagneticBraking/MagneticBraking_MBOnly.png create mode 100644 examples/MagneticBraking/a_breimann.in create mode 100644 examples/MagneticBraking/a_breimannslow.in create mode 100644 examples/MagneticBraking/a_mattslow.in create mode 100644 examples/MagneticBraking/b_breimann.in create mode 100644 examples/MagneticBraking/b_breimannslow.in create mode 100644 examples/MagneticBraking/b_mattslow.in diff --git a/examples/MagneticBraking/MagneticBraking.png b/examples/MagneticBraking/MagneticBraking.png index 02ffd1b1f7047ae3c608553ba4142cceab1669b2..d977272ba019a64914bbd698d52ffa107d007fb8 100644 GIT binary patch literal 976539 zcmeFZXH=Ev)-_B{5*tc++BuGrkXVQF*2#Ne=< zk(ITHr3D|iAUE&v!`E$WZd!}*@R{QKkd*UfBAxQhRLC`(N-|L3zbZ+~Lf`{r++XEeT^rficYHa51`HV*@;t88d! zM&dgxOHXl^u1w2UZhS5I?Y4+X!0>-Qjb{>{{a>PRW;Grs82@p5iIs?(1RSFT*SH=3WHpJ6lH_}x+2sBrnsG{0UMZqG5359LpMIXlr+SXt(=`)}W$n%nK< z&8VbXXjgkW^t0*z>s|gg*Zen8($M@Dq5$Fk{}NwOW8?Mfo?c#t<(_m(s;Ya+%gf0R zDJdx>b@jcmv9TdOo2ikpAwennb#=8Ti$bWRKa0XMN?%1ojEujgW$`Te_rG5DXB3qo z=+*Dngao!AZe51O#YJl96Qch0QfyQY+x7nHzznPYYAdtaPysLXRBfqb_0)hL{|as2 z9%j?~=C%kTs!vf-(d+tpeHSiHPEPIY>$D1CC%yl2A&(;>7`3#t9s{fYUPk?nlu?A| zXDKPi@yT?5xhGA{eKo;6zQ6qP3$lYdKK6P`lA6ufJ6;0+z%IL2Bl3*Os*OkN!0{#MH|%wJq`;y;LRXVZ6is2y=HV&&ryug`G!179~l+( z^uVB?icF&#gW<+l61#B+zIdP1gB^^|%sXCm>-;s|-_G#^fKPbZ*x2|)*!tRW{Sq-| zW-Dv!Xv0b$GS1(zeoemSc7aKAf>O3=3x{@&DII2s*M6c?^Tmz#BkNrbecr{3-%~H< z&;OY*rn`T2n_*$Hv3zW7Y^X6-4woS{{3ShYSHv``OYDrq;E^#2;WIvuJB*9|Yh7^K zo6NyCqzdBH9cxX!{BdC5n#f-2=f|j8SXkJMwx;SV8esI}3^%;-C345qlb0)J7@Rp(o85 z4wz>vNlGI3^T^7|o(TWz@X_pw#)8}RC^(oNYnDt65@v`GbPjZJ(ua|c@ym)ok%Y0wnxZ4iS4Ss&_{;MB^O7%dp>Dh69V-`n zUQ&`Q2^oKu{fb|{Fr)=Db{z>`Qu5>Aps~>Qzuu(NcNomiXJ(B9`>eR8{L48N_HryY%HcpMShrPYM|8`p(s5NhMr0C?I zU}h%!#hYOwD`Ax=Uy&tNy#!#I?fZ}q*(u-M^fCGtu#rO5CCY&9;>~%i~6So zeOK3smBGQrzmDCnC8V@eBiqy69h>p0(3fv$=8=%FUz@Ss0H`kMQ?G~&^xZ!T)dl_k z`|DO#3>qrD4;cUTBhxk@vD-_EWEh`fi!(E4W@Yh(e_385!BJ77>x=ooeE<7MNGFSt zPF7Ct2s1N6$SWD@-+pynT+E+|ijw;>-(OyTdr1}_eDpN__wSG2+GYOdS%CqC4Q0FL zWvrxse*=F1Z|?km&Yfl+RVrHz%c~pZD>ak`+z0y%X@&$bit_ZW_@%@3m&ZAMe-^=6D-%=y9@1ieqd-y9x(S3Vw zT_bzpW6w-qX7ZqvR>*Yu$lqU%Qv#NuMS;ti@A7Xdrf92CR(+QDmZ#eD$h$qydHCmL z`Hl1k>-*f>cIwQ|4Oe&x5zB~Dr9a(UJvyk7Kj~>UScxl;QAx`2r@r;}rW*()ypGc! zQM+hWa7PpO-ZeU~k-Nn?z>bXpEi$pW*F=tQ2w zr{6d8F&;Ay;<~(7|JIb0j!lCUW#PjE>6wArzJ)&Di$mQz#TO2jEcANqVcocGG@Xy@ zsxy>|8mWuTH#Xj#WaskUC*)vv>(i9y9+u0_{Z~aWdY9b#2M47QvK#A0-#$IZZ{E&t zG8p^nnUt5o;&i`^sO9Qxo9}GvWge5kuOwIE-&(9JOifjDrk8Q17wy{3BJZA=nQ1i| zQxPs~-8+_5?-L*C#Gxp$`Z=%9N7T>G4k@T;zT0`~_svXYtWmdisl+RKYh_(4M*@xh z_1D9p{3g3dJ=SpkKzUr41w-lDY`Womm%VTCTstR&phbB0L0bXTt_vMKYkPM}tla$A z->+7HGLeUj{b+ir4?gq+citbrytC^tH~jR+@4P?#cH3!ISnXPGnFp^ynY+V4h%rGg zXZ#l27!Dwn|?BT9pq zkJi4EBE5&6UPH4U*t9M}v~p=Qoym)y$LD>Pv9yegO#Uf-*F~f682H)JN|r|Q`hza_ zzCE{7L1TphmucBMUBlyx$;j-ckLb3l;bP~}eS^>8s~6*YT1dg=JiayL{xL5)a`;NCyZo^@Vcow z(aACp7mR$@-e8Z~wt_q9``mQVmo?IXnVGpg+hlkBsd=5xBQ42_gNl)2!uNMFl@y%L zcoB45Yu9|I^~Fx-$>N4mxAnZacC%=+wlrIjthjFAM4`ox{)Vk7T6C=i_LGO`b#9(H zNGYRjczW(ZOItAZ?D|5bL@&n2$8DvLsed9w#Mbolc!%Jo9S8Rb_S~}Ox9k?{k2=T9 zaxwCth7LtaZ0?=mY{^YtX0rPzm5lZ=w-lqqT?}fta^1wC?cP}a z9fO4HtsAAQbIEe_g71F1<1iRuKcZ9M&|#iij=iff*jT;}WVY9^;-QCmZr8~}E}t7> zA}&Xu4k-V5^P#+o#_}J|-7fLMN|3ii(<406p1(2PtAAk zc3JxDac>)a9Ea;!R|HGyBqgW5@N9^dPN$3YqNPQQ(bq1qGmdn;<~?U@Y+UIr*u4)7 zj~PL(pozXaBqroKU)Upc=FAyS<-gWaG&Idj>nm;3LSy!Pe#!+4S&2=a(d$gtDjH*} zM6J!^TmkeFl=~{Yqisi98wzYk-`&WnHNgJ#$f_3?CG#wO$nmOtxKPIV!7iI71>UQ# zA6*BB=ediu62XXJvSisJbz-$^(v{x6$HgA8iA9+1dD;ke?sxlsJPfXip5zU8_x*g= z%97Jd7-k0R>u(m=R-W5=Y7ahOX@oh?`(!&?_pO=Qcc#gyrY-|XYRSFXO^RN~Lp)l% zoTPf{SznvyrSz8NjU*)#9A}iZHXU4A7PY=ID3GS>GTTD=aF3qFMv=q{ti6XW^Id{_ zk857C7}sB4(iqDhj3hfs5?OCFJf8);+g=SlM*v+hkn%WLZ=?E6&@`b*){Jgj$=5{l;aMZp$4EJ@%OE$^dp1xA+ zR*<^A|3xM)l#t95?JLfJE4ZMWcQnDAw_&csl8KsFJ}$Iz9d_Jt>hoKn&u`Ch>eOSD zqJ2a-0G@+?Rvq<0o)elZn(0M6)^Ra^wO#Nbf)1Qef6&l( zu|<^;uq@_B3e3PD?i~k(e*Dl_9%YWjKeaMbU)k+Esr&Tf&BhoR3V6hqO|yH&@8U~;`VVeVo96M}UEaL-33Y` z_fx)Y9dDPR;mG-Y(}A+q%a*!*ZYUB%hlgll8t^M4c2nY%OPju%OF-;&&%(&{x^UsC zvfUS(N4gQ`ICQ^hj8jWir(jP>V+Y4Y^J{`9psY+)26J-W=y+jXgd}Fmty?r*&Do@m z9fK_$8{;tb;Q^D+l~?yuDduFR5XF#RJ3JJNdvYl zLw(5~zijJ$wNoNRWo><~RzTxFIov2&95B;y?)6~p#n>g! zz7GsRF#e8Fgr6iNY>OVUzvsH_d-k2Yp&9Nn_a11=tgUeI;Q>Kzab&N6h#suKch|zq zd#hNZ9?p$-u=c-MTV1Xk&+RE$>Lb}dU9Z>xt5rsrX~Q@kR*{vhHW(_m?z>;gbz!vg z!6E%!GxRC4qi>eT&ZN1-df7ZjEp?)BqF~f7{HXBOty_B$HBwrNBSh_eX4~{7syt|t za)B<5Mb6$)0iz^+kRn;MwltcYZe(OsP9j?2Sf*S=U0qF$mx`kBvFf$KRO7k##!)1D z^fq0T@J0j_A)}9pmnOK{%F2pRLK(m$m6)=<=N|0vrq^@$;aY7dU7Mb>Ibo{ zjQ9H6U)k8%6PpHUX$enNkn;!wVkAK=cJ$o+?>rzMG@DeoEd%cx zX4Rhb0wfb~nxA0wl~{8iBnt_*n3n_8Tu;FJ$@f?NV`}Ad9v_hoT3(nhU3Uox3_La- z_3YWR1z@GVKkn>QG@UqeXHz+XY2i{IB0%|9n-6{ufO28v;D&L&ZKI`iiQ((ICydci zntqQLx9#O16>>r#^oq8T5~K-1@s&@nj>abzViYP@7H7L(g{3f z5;i~Swl1oNJ&|1-{S3lTC6J`w@V?Q2?Sh>@HqkN!ASRP|QXR;BUh?5SUS?OUoz}$_ zFP;*ipyP|BtY@vQta=f^eM!E>2dPD8kqnH8=8MrO%cwjQ_Q{1{L@`{9Kxhujk@FAT zFG{RtH_l?4w>X}cENhTvVhpn=7-nb-;?X~ZxlyPNcVE9Hk(Sr%NyxgQmFXJFSVrY} zf_BGE+R}8tV-goL;Zqr|;VC^n@63y(Owj&!EJ-1wX@%T7M23ECVX6-o=G!6m={L>n z>q?tc{>rQ%S$FmxOYY5Ot$UbZiP|>6mXL!qzbfL&&0HpJ+jN7=j#g0+fP$BWSXo)g z+PXVo4q&}?SL$k=P~XFBIv#Ey8%3cHcO6C&;~P)-dJ-lSxY0lii6X=&Q&9^XCo#T1Uz|!lQX$>@CAa` zA-9z&0xEZx7=L{II46>xme;H`h2X5%QASa_hnS^IMLyRcaEqi?i5Ho zwu7KQwzE^JPZ!k<$lKxjkP+m%-&QVCw3loKteox{o2xADlgr$`=Mn!h6-inWCLBCa#X#x24RNovQ` z>m$Aag>zWGmF4vM;ZG$u>@XUSFtOMlcZghby0xmS6c?S+^k*6X+}zss;+=ul-3cx( zE^kzv;_n}uj-yshx@rFI`IRj_rE%%y1!E{UeDO7L=H0sXU33@47q7MtC^Z1p7-CXG ze7?##iP9%;=$RLXPU%dYXf&?KR@|*RfSuQ(Gp~h-$!X{*`=YfKUYvm_bu4=x7n#!X zu*#pc^3G0i&HhN&)uon^v1+i+$AFe|W!oeGyB)wP_=#k3)P@OO>_}OHJ=1I z?q*e#H>)~AR~y2|st90&Tw7zaCm|5flwDD5s*DW-X;0>kfS+SV6~*)2g-g7R$as0! z(tcJG>(y0NGI`(3;t$C!5Aj8!va%d*R=I$^4OzzZ+7Y^eU+)xqUOj7;md`TG$LSAB z{e@Oe#?>mnyunE4YTd$5FSqdpun3c~=sIFZzS-BCcRYkd@!heF5Hq0@ESA?1-zZwI zy}|0G!U_z6X+7zW6^?xwgBvkM`XIZ+M)FlWqh#{&NP@3$KK!9wt#c*`(u=q-?TCejI?IMnyz-}pY%@CWiS>wUqNN)lnsX7K7H)(@Bg-&>~PRf zLA{cJmk}07lhwQp^Eu>HVZAOOYcha`0kyb0M&ON%S@{{7Bo*8a|AiqwhfakiLD~n9!@IE+4c3NsI@&<%?j=B1BY9ZHO?+W+S87e`l5qRd zS=yU{2z~7GS=SKEDTp?R(WW z0!wFSXST6cSS?T>K_RbeYUFB)e8rd8d``{1L$p(<5#tC24|NbhKEt5gQ(pRK?PYLJ zeN&Z8`hD&Djl&;j3xleg!tc_OWqtN?Jvy3K9R8c5Dp&I{CMa2 z2|C#+zv1B06{8$yJ;(mQfZFs)J=ewlC;TSLv7d3Vuu-LAXQc2QJ zFF<`7h1QrQ+p4?vZCo&;;L_y!=I>mqXsYL_wF$7|7SDCj z;WN1Nx~{I;Ccx+Z3AbsKArz!$j;Wfba%&fFUoc)BK7GBJ&7ir3(ePc!I5Vdlibkswj5IWCmhI+FkALtlh|mfh{^xco zSNDL?jtYC*i}hV*)kxJ#dHutKm>;yt9x%D?V{-Ydly6pf&|044a;}*JzmUX877n3l z8&6EG&i4>Sp#sU5fK8NlVee2Hf*0E#;`0yNX+otRuq?``$T9Ribuuvv%i}q3T5lajhwD?jH%Nvz7jB7JbOiT3=WSYPadw-!F#o!0{ZWS3X& z28qd`a{%G0eW0zpGvB(;gEi8f>|*M8^z*pwCzpZ^_PVOd13%sYd>Xdt+Ivf^eAr1r z4OoHL;urb>VbPNiq2{q(ggW^=++-ZVt$Q4TD#Mfr_{dS5QwW!e8^H&C_{yn&L z3nY=@nGvOlEF2+X>)Eq1AV^q`N(I5LJ^F5|wsD3k9tSM)o;K##(9y)7v$L}c94%d} zwKTQSV|E*`A8*gW%%~!GMT0(3n_%bQ@T`|u7mF1hiN+#knJprGl{@VbqE<|`m97bR zdV2afx#|+q7(B7>);0}PB7~RukG<>Xp-*3SrcypxBi1YRvVdniQ@7@@!7=KZrMbSa zG&@R9uYZfO0tKmMVii(He!*Lwz-w=w&=P7s-wbF@+Iw3!9X{kr z3+zEoXWUwxej;F|ehahYYUbTg;d5sLjucV zG<838lNE-tF8pQ%UdH~^5%|Ke6ChzrR2VyS0rO78jH#h$-wG%)99_BB8=jE@52#}& z*~EFE3COrnUT$G6gK`y(u$U7X6&1xah^R3V6)h?MYOOjQ6C6n7h!dX>k zHPfra$tQlY54#GqC8c9kb!-YGKn1Yu_XJJL4m7KR>hDE*OTW2F$g$+K0*>}v%c!4K zH|(_2=jOW~aQ5CklVvcR*(fiqW&X-Xc&ho%flBquClRQfsLu08R!F40HbZasow$18 z>~cC-4Wfl9hYo|%^Y-)evueW)hBk)esA+365DHYs?!6H&xITf2VcacA5ahPN^*xS? zDy?u?UurAuO^EjK1TGgngj_a+aO|BK5D-vCcnbhlJMRf(RL?EDS(=9;-HG|M60!lo zD`^cb+x8w$$o%z_G2}jhx&TGMJ8!})kPo^m$Gxrr39=JAjsh8`?9mVBdObPQ+(Fv3 z46UJ}5`Zg0H98;W5V;{|aY$MW5n+nhE4Rof5*}M14TPQeN$3iM+RL{dtay2ETU*{F z*4IO7tN@8!M))M`X5Y}mpfLgm_!HH1r-+gp^+}8D+j~6`W|?5(SZ`f3 zC*)jj}m`3CAD4q)JY z2o+TV0gOPRTgbdrxuM;rc2e>asP9Te(eXWG*_#ER!V{jt7_=?TBql;q{}Ze*12-4YczG&w+cO3cr(6VWVgtpeXjtb97BJ%H-B5_pQ%IKoyP zbX%;^H6tidg|h2u)&L(yVjKC(w>MKXwHV@euCjA4%B^zfc1~&3_V%+Dvgyj-CM?lm zE^L)za6o*!+Am|1kVspdNm!o@1S9O9@AmKVW@t%wlY&&OgXmxC0Xi`6Wjk(&kq}|w z0Pq5`xM>I-32`gIR%fw_o z@Wum#;}Z!t*ITFyc_CK_4afLD1HM#?T!kbI0dGv{>80lU&BydlG^-4t6;W6a7+L@oKSlc|lf5%%4}-X_XqW2V@of&~x|0o|pwWjvXu+$-@oCC!%r z_=Vy4CfxqjDKXIkx$MgltW8R-TW6Eiz^Pt; zOLPXpr(B;TNC;s{!RbEA_dLL`8eKCGgFqf`7nV{A943qBpMk3Kel|%-kB2|zx6=XXS z(hs7ObfMk20ol#KXyS(ez@CUXS^?O^SMMjWv%As6QqP1}9MxkWV0VysZ;@`YL>T*<0&iQ5} z=G_98Ba%P7x=C{n!KDzia&Yq@ho1tMiT%X=h)=@j!5g|N5OG$QX1!o+O{ch&xzobn z+j}vZSW72L*Vkm*1`&%%ndEJ)Y)@ibtQmx?3kl73=Db&4-j!{GYW_WDJ*C0XV-F7; zsF{F;>de+K*%^L#dC%lRmfd@-EaGmNYLw$C2c^CT+SBC~B;>SNN5RgU=K|fjW3|DjPSqKmcx&tw|-83Ecvl#HoDNbgw-+Kq5H`~9CnS@=!a2B@UZ_jmPgKT=A$7`^S{)#^WuX&W zz7l{}V|a9Islc#)YY%8oNH!6lUye!Mc=7(4TAIe(2J0>ix1fCV_ZKfKdbL%k zt+%(^R9AWA^;IZRDiTMHMXI&GU{SmOWtMPRG9jX-%?VrE?r%R36p-cLkBH%g7^z;M zhjAe_b7~zZ(1>ImCQM9fUF<}i*vuOuWaXPlGuoSkuDf5Lkt4W&Gcb6JQ4>iKI}Y%%O#e7gTyD$h?s zp7L@&q`l|C=deRf#(Ryi&A3`?JS!)Ak2uIPJ}WfFDNKwI|jYvo-;UCwK87N@z!PAz5&=#mk2%CtD|mVL-)Eu3rAIgt)6d zm?a3f_0BB4IH_wMpI3=pI3i|g-cQM$SU?Gtq|<}Sxhdf2tOcf6Ko13RO|;AMT#g9e z<6h!uCnMldhYD1d;&(q0b>|e=rDJPTzHX9;Ub{;yVPzn`$vrH|3HU4VH$j2`8AHkzO~FzI-;>nzubQiqXw2TkdmrvJ~W%S?YG#&r2l(d=3g{ z*3C?SA>DdU3BpL~Onw!71nT3F;Jcbf#!i~I$9&Wo8Gve@I>rO|4J&kQ_Yf7g9Yt(!wc@+VHMdl9#6^v3bZ-k~|5Dm2HDbK8Z_rqotx%S6`9C z-DPLgUY??Y<4sB&Lyf|$#8|cBv^)^v(@0t_XlPFKqQvt-@0iHbVuA<>8s2L4Sa~|a3mRP0_>oG4U19{=3gs=n|Rjl@BVr+AR@MTY^5>4!!+B!9*EF!GvcZr$$g=E2tzQAmm8+tFd!& zrP^K8ts}Qh9410Cui7w~4p{!rG}869jJv@}(70v`VB-=vN}yk;-@n%Pm!D={fI|)r zZ+eA3B@FZ0YE$C+R6o^lg_Ut$wD&p`CQxM)u;~k*Op9`df}MPW-fJuRV?*Sh#ROPEq5Ti`rELhYdCVU7#VRyGy z6PH9xtxgBwl!-r9w#^#s`cAinbF$Z*J7eoHte3|lQ98x`AY;k}_(6m(kenbThk%(P z>MR;#mROB;vm49bmvnmonleVHs^AAfK|$g}x+|MS&!xSGXt)f@t5GAK^sEY@0dYq+ zjKFX0KfRxB6zb~~<{j(JSJG4s8Wy4(E3lq%nDR(#NQ`c)W>Hx++mG6>bw8^ATbNPd zr^WCNDH24H6KahbAaFSkFqNHCN$$QhlM6qw5q)rqSB&T-_CAO#aaS!UlvU@=_wU~z z^b?pt^}I+lDG-CK|H*i4!3-EM)e9%#Y4k?yWHFy;A0UN2@OA#nSt!)h(hUh(rb@@R z@N>vXbL|{w<=H_q5pPKQdwKM9CbZYrR{M|zQfJ-+cLW6lG&?FX?{XO<9^i7BRz}Dm zKFDC)L<1i0hAhdo-DB;dZEPZ`k^g;F%ytR(&{eof%X`H~*3{bs2#8!=?{pY>3L9MV zn7p*f&1Ow#Z~L3_D1Aa8Xo$mh%Xle_A-#b5X$@2}71@5kZQB_FE}2}4BlIZor{tl` z=|ckZM)_S%C?-;3WJ8)WvIhMXn3f0c^oV#1?dx3TI~{3R`)nJ$=x76*$bcooY}x9F1YvL+mHVwK8Mc zA(t-q^Z}T_)!}sX)*2W_)&Buy3WjmIU`7Zl>%NUU@34t+P*9M1zMi_eMAW|P3B>Xt zpr;Scn-F5PCToU}5i^<;MUAf7xx9tIO;AzqL%zBT?IA6vCN4xlDCKAywf@198F7zj zH5?ij-hq*Jn8+VAKuI81{SYBpwJ;t7$exwtfBknuFrmO$UDhBNDtp%Eau)!wIJ;(G zcRmlD277F9cyQ!UDJfhKJYH8%GwuJ&h|tjdq?>(9%0%auqn_B3>TK8EkP|Coc9gY8 zc6vKQ&UzD~oklYkmO>5`NZEJiaDNq;)~HYKN!brK^|t=B+0izhlQ1VR80mBn?-=p- z5GcmScyE0gY}z%Ev)?wwU#z#eyQvSvlRGRaQji+RpDlm?zKnYjRf>1e}=K1ZrZNpXMdHoT8Myh(4^z>|s(PD~Kx1Ekl{ z?D?k;4tZiq?#>ZgwUV~B_C)*hE3Zt$EzQ9L7ZDn?kG^z4Y79gNA$U)eXMkGGJCX9{OxO@+d3o|ps(CZ15!A@#s;x-}8U`-hd>*{GbTK!H)jiG)= zd+u)8-AmHah;LR_7L^($#{5L+ir=`;B z8YLS$D)^6s*PzVb@#?)D9alLovByZHjzPf0k8Xb5JX&aR;iRp2a(4FdLyiWNJ$r-H zOC1@h=XSi#Bjp43QPkURG#ipiGN}u#NlXMlgQ$kbZw$=_In{YDs7Xw})U^Tp-#%F5 zNRdDq8u24ax!CC{s4}=yGb;qjFPTMwr7VL!xQj6NFp`~Ok$>_%EiLhW5#P>!#maiH zpVU~OsN(lgJMZR|&!cVWol)#0aT9-vOjHgkNL0yaDUpe~+#!s|mOv?GYoaW`uA!E1 zT;=zuC>Lr>6q~MZ>gwa9$~~(^xcR8?mS-==t%dlAzE@eZPHdA`(6tgLVy z$W|3WE>SIHm5`8-l~Y;g7V-#KvPF1*dRE*t9^{2uT6~rR@8ilzXnswPHipaB*={AJ zVor?HhDB5At6WTDd1vg379@k;MGrd32wVRC(l4*K-I11dYIUa+rFjdV;oC>=d0Eqs zvJVRGAt$rkcDh2G-{5}vpBBS8;0YstZsRPvL-SxftkE5XW$qv>!nW0#J#XMMt%I?K z$V`22`05{8mMpR`GZUX5sjTJE7r>29n<1d``~K6V*Xkp6hqd+e^a27~>h0hBA>p>B zgTje~3nBPp4PjTJr6rNJoK&xfx|G=#4QX;fL3qG=OM+6%#XG6mIUEWyeuKnB2ftKS zC#ioa)dS|4RV*zN0Ba<<#~puFPtHXck0fMEzi_J&S@nUV5a~^1cWt4&5frenbEA6s z_7NR@aCzX7!SV)J-|`)2=W||(PQE+deaqGV-L>RvGNLo2JL*|^Y=7FR<=)13IrYtX zgHNS0Oaph^`6t!>a_Ynvbj~1<)cB7G0tDg|BM^K*&L?qoX)HQc#8SI7(j^8 zlUP4_T~`)_))xAr@d5i4WsO1wl9xOxb5aAw(FNcR;gd33NkBXyZP+97ThuQf%eDmb z$zDtQSaXWlFC(W9j%ES@lJ;N@T}ud??U_fF!x7Az_>XR6IFM#m^l%v{gKENuAj?d4D;ty&cX$1j zUiv9qa|Oyx1|k#PSMhTX&o{FVI8wQXjayGLnu1>S2jBzX4LNWnwx134b8e0ia|;NVC^x zq$MYHo`@*-@(^>S+jt_<=~th}ycRR&e`qpzY5Z-7k89&3v_FHIXhD4PoDq{;3*1dYL)0Z*#CVwH5#EX$Xl4spL*A{h~bLmjAn4_Jhqax zG`6S3Mn<$d#R`Oi)&kzG-A_=8Bb#?6mq04C>kPiTD1Z6f_@|95aGFlc)CbG z%R8u~1n#kE6y$+=Ew`>eMGp&rcVl_ZCEK1X;wD#+(ewvu5F%7YfQll!M!^$gLdfnK za2k9qOW$^uFpgF(NE47-g5vmdsAvs4))4+RT3X7`(+3p@Tf|LozTatXOlv$+QkHh~ zS#~!6wYqSv{z#ycG7MF4<3Uy3w0DSk+5K!BNo!lysKwVtX5`Thefi@kmX|ZSgSjV) zE1h^J?kOlM7YLczQ63gKy3QV0uS`;t@y%?dc9J%8lGbY6mEea})E(m^uuNT)C>AsC+ZN0aM;m14CjMg|++ch+CcdIF zkR<9?#tHm^`P%3(UDb2sHNa&EJf!Ya2@PE)CU1yazU5x@Fyw$vJ^;?uhTo!7C{-A@ zoNGEyRA~0vAEB0_Wj4*K9&C`#cvMcau2F0h)B|5&mRPPzw_ufY8Di9eT45r)F+#`4 znwV&HQhHtreHt3(H8O2U7p%>;UdwY8oBFLH!?i=8^iWnBbSb^#`bt55SqC_%LAlr( z<@xzaAI9D7%S69hnCd&i+)KKx5M8ZCU)|p>=Tu@tgkCD~u(IMgnRb(?BnX~QepWpy z2UQ_SXC0fcG2rg{9B!0q?w=cbPuEIP8}WFZc;tDNoQad;3|m_0{i6Z|8oWd4M6_Te zG;G#N_+6QZiNram%dUfq%ER%&tQc^OSc8+gve5Gx&;Rv$2FPpyJve-v(N|?8R#^|q z{!y#g1~7bjdR3^HZHI)#c^#*gA}pcOdq|5XJs(VVvaRtKox5rrKQQZUS(I~J&nb1J zO+)!H)xq6u0@;YPX<><=_(ID~8H8fB2`4lw^ujD*o7orJiHN$Jl;C^lHE!A8BSJFC zSl`7kqYrOHwSQ^seO4dXN4bmpn3<{Vq*yv>8Dq$3g4ERXb>f9MD!+0HT~-&*`Gtl+ ziG&El8h0`35G^fnED*~&G0HytXo3SU#;{n_CKgftsDxfY3u?>6dk_{Xp+B#~E78i3 zK94++Dh%_xUjGtH*bTqP!yCt<5&fX$tI_mQ>37^7?iAMx85UA&cMXf1@}(~<|9v@E z{{2HbPPx99w2ther9Y^Uw(Dj&k`76qSoS=GM{g)`s%&ojWt4H^)GEYaO0A>@KIY0z}MkXzB1vb zQGI@I!Kl%_(gzzk`m=C$O>Zyf^s@xE3`O5eHm|^rPCB{yRl}6dwK=xVvHa#uI@?lo zxj^upE>=-iR{j7LO+la`$E=MsvtqD@I{+m$&wFC*p0sp6>9!?WXnZVu=c$R}^M&8pQbg>gCFJ#)ap7 zYeQpSRcuu) z(nRxo_RNEwOnQCJgp+~VCDnK$rUrRIzuyUiHfrOFHrj}ZbT5I`aQ+y_oCXwnrt_q~ zxK3m=C179yrnCJhR?*3d9av@(9}yH_-FAQSjN~iVPNjxO=LygdabEPq;zs!WzCaB< zj4f7LC5ixAqM+8S$Z_W%rMA>Ex!7czs?8RTz>YITy1-@ISkY<=!$VuE9~b_#z}EiRO)of1caPk> zFlRMGDx)q<;;-c3l?4Blm6fe+#7Un$12SQmxI1@ulO{YOu{I7!uf+e8vxRUpC=-%F z*1w4m1(gKiOgk#V-yeo(l*wi;b}mnXw-!6idg2HP9AEI}3GWmFeeBU!$kg=2UkWn} z&Q||6W>kJ%CbnTRC9?y`jCEbG=VAjFLMyMj@nkB z)Y#qK0rj33&izD6;Z;vuZvBYJlJer#IQcQVNJ~rfjlfalyBu+6++;E}T@j9LbjD1? z5|LRZERX{}ItuL5@M00klo-1cXF%06AbMNA37e0y&ml)&>D>JN+bumk-P ziJ(r-tRU7@Ot9=w2|C{;fo?f<-9A2+_M_uvW{$*q=8)3`F8zGB#xSv%$iud0hTJ+J z2ku%c4w5G%P2i~7seui{d^@N9c3($XWTE=1)4b}C{nccLzI=;}{sDz1k@?DDDN0R* zS}C_U^Ru67Dv!9W`$wm|f0iUTkW!d#sX+xBRTm}HZe&LB87nFq6Cm_qIuT6jF)&qcweT~DZ}9A~1{5U+J=9S@3KM6hSor*NP|+KZKp6R-iQrO~5VY05bEMN*g` z)Q6@kDS>pMiDNuYg?^Qp5S`uBxUUU2HJ z1NHWzQR{+iox3|Y#N@^tBEf*=2+r2>NVq65Nth>sv;NgSmvlTKg<$r5{MRqtt1pHJ zfS9xHy4m@e05%4u382^jW90wuMua2*(*Qa_{lY8R*B?i=37oVHqKi(O*q5tYdL>(v zXSKy8c;y(+Rxb{>Q;u5E&ooKaWw=Ukj#D7IT)M;$=VR7iWT{o5R%^^;?@MJSirYJ9Ec1NDqZvBOgjW` zo#cnZey{t|P*_4>h}4b%&)!A~o8+!}NTbaoE9>fA_0HyUm)mUWwy=hOPrNq7T!jcp zXi3sGQAy630LF6Iv$u89UT7GyDq%YU(;%CyD;kEnlV;Jhf{`Tmg^MzsNS2I5C8|on zu$RMbVF*tM1q$eS2m;aYq$O{=55C**x7%L{h|FZxaC;HvpuiO!Of5f5tuI1(RqF3E zfzyYW`;Ho^KZBkY-s)(UiN#O)yq;lrGQgNs5N!Of6Msmz1<{@SMJ5T`2lr~x%UN(o zvKyI zLFHzB9By2WCRyJ;E?uuu%In{4BA+w&1sGQuN4cnfXa|U;GcpRy?Qg5FL|^#3tNsc} zoqTWz$JDL72c@~YeI5?)R;TmK<@ac5$x$ZWTMx-W0wPQ(?t<&-Dgm%Bjn{L()I`Mc zd)Bx%LR3&3gq=t&Cp){$g7to67-THLr^Sgk0hw8KwyMFQK~CBr#nBeGQ*Lwclt>Y) zGkE*Ux|w@v$w78Rp#J#rBfMuRpqWH(}+fdw1&aAkUNMK5Rn)y zX3493#Ue!2s5%y`T2O*eLEMO={Lv?OEp}1Q7y6DkQPIFva5jI0G_(*mFEMHzFU?C_uKkCzZDH|gL(b9#c^Bvc^- zVp75OKE=#zhvLt4G9Npv)nOGq=FWjVP4Gn*wg00K`FpFBOEWt@TK8k2(fP7 zzTUVY@RWVtrpD(b$vG2hX*@t6brOBVc#T6Y)PUcXC%n)wo1~bfY>sden1(FBE(_8B zkmFI}YRY~i+f2IDl9x$qtZZoT`6j#^K|JeOx;Q)_3#rFY{k znpSTqN}*u|ZJ8$}sUnN^0qpu)*b-lkqVN-+1nKAjCNPyUPNYnHcuYMRBeU#v#OkD$ za6Cg+1b8f5Z3R)O5HKysVPOP3kA|d1xv71BJ4P>h!)`2%5JCSsvO`6^m)u7ddoWwy6OEA6F1G5oT zGd^hZ_Dn_mgX=53JEs82g>>@m6T0~mIaG!C>d8pq>PYJ! zIev$Fq6|5-g&0k7U|Tb>P1Q8$&8yz|8i%&ztLu$@)**Z4c)$rU>wQu z2Yzj+d4dM4N-$-nuOIy&qi1bn(+o=DGg4KIiJg)2esGY%2yv`EM2?r_RKb`mu_k$ zcWbhss#WHgW88uS)%!+s!N1a%$qYwXRp}uW7NqGFn>O)vb#=9%W|164f1_HiMb{0d zprhrLm1e~ENo;`MoO1YdSYc30Vq#KDRF(ofYJ#sb zYL8P(y1qWBI2Aa`)L<)CH73ZaI!dAxLU=Ts*dvG}ele&o zS6vq>AcxCOoalId<=lwd>ph*tW{b%Yodvd>y2eI#VUc5Tu5EABHM`MMq6=;>4yUDz z*`3!Whs#+}C^9pv6B85d1-8k!)5jlY;V#fz6_`bzohi6ezw&!f0kq+k)_!p#B(7)} z{1P{Ynybadmr0@(M2=zbckpef2X9(OB1}?EZ1k_^Wf!)e2xmBXBLQMRE1TfwPoLg` z93sbG@b|xn{V1-^h&79#f9=M;jVR&EZ$G*FSUMzLDefE&{V>GleK1JhY%jga(_iXN z$_Cl>mAb}!`gFJcTLIB~oSy@K_e>Fc^{c8D6Dg!=Xj0~Yt&*??MVvlg&vXXn|BNFa zuVYwGo^pQs>lqBC#xFVG%B!(p;|A~Ey_ zd*pfw`l6N=<$LQXBtbqP;Ek~TvyM2G+@|(+9$OPj%X*Z~5$7Mv4p3w92GdSkERdI{ zB^j>u(}-W?kiWY>c<^AXry>C^LdQQ9F3+EM0v+Bzv-H9sJnu}bxDx@S_S>Fr9yuW=*`E!G2n zB)!yo?dH9gd^rrZQ&Aas&GuonT+AxIj*XFRO2m$761GsX3E|90NlQydC&OulK%n~Y z?DI*ye=KYbw&H|{+y?j$@-<)Nx=SHSQ2v2qV zT{P>DEvC+V#9g@UrV77xPL*toTB4-;PJa$>FmJ$q!p&e5Qo>oD_-qd zT3TAaZrx>V?MRre5S(!xK=@5L*2&keUuO)E3KOAVH*8hHOO=6-@9O9{gw2ApPb-#* zMvsKutV_C|EiEkSP}n_2-+xgA6<;uiwo_6@&rgpGzy@(!eGRHhP)%@kb!97CxPrG| z8+>6yF4QXM<>LLYqdat9w+%I?!?bK_$uy-^)58(5tdR{4=qSuzmq8zu$BVpmv}Oj!HS3y}w8a zQoeAUoQQcnM;=hZ&w)tpSk~=brs)I_5?fjJ=FOYI0}?!w9&iBRh+JuB=BTKs;*b#Q zfPkTxYh&)_k_zjhLc(=7>OE6qaLvj&R+oV#*C97^?UwArhU`NIAq`6~35VVg8Z?0l zVzg9*Gm~nb->|~bqe>YsK^B#o9Bh=@yxF@W^(K=_P9&azsWR*C-Miv`oG(Ctr*vJv z!olxRTgcxFuh_^AA3i@wecjJD7$7s9qT3&pz{ebPTIHza8TIYSjjtjk0NE5dD=RA>mL=a}bxFd)7#@y?yA&WMWikNSbNC!rI(##6m0~PSSD*%8 z;>DbRq8m-t6zYUAa3maDJ(X}j7?_G`#o))SZk&4vwZx$^^HQ&+-zY!dou z1%G+LNaf#$I3p&WDUW{tcl$5 z&Y{AJ_)Au0#%||ghc*|#E^yo|@V#A8?-`U}VA`M2Y@*_>`ON0&=;)Xnc|7jyz4gSs z)3Gi<};J+FuTeFDu1y9tgjiP6e^2GJu z5o|H$CEzlON$QVoA-z_|59@$3hOk!ZaWW7X62|m{ZL&@TR|Q0lX5>T#at-Fq&^V0T zbMgiqCuc)2=|6k{Y7>p^B6#vuIOF;hmBV|fsMt{uqe*~cZ_(`W<2I+S_GIcVd3F&L zmz2^$QY}FfOH-a*HqZ=aIl21tw!^KtF#tKvc`>VsCz&ORdb7--R|=<4hKLiCxsuhH zo~{RKy#3c-uX^FP>o;wx#Wo@Tq~P7VP-}6t=A|Me!JfH*ck%4*xw%_iSD<;bX)os` z*v(oH_t?Ne7M07|wR5MJ`Z|4t&~A)se`h!T;Z++0i`A>-0x4WwEK4d<8CBoQWOI02 z>e<}t9c^}kyD3(JcR6NjrT*i~@@19l?MJ1W@q9){kQ;Gej??~mI{2aT03Kg$o|v@V zflyYeQvLbNiWR%QV23ManuK9H#KCFx%NiNIL|`V3hn7iD zQ3jA+1sWSYqAD~0LyI!|)3H2I$CM;af-Ly+=ew+JZ3lpXRfB;YiJOZdrk=Nyj<_it zLi3rg*OW7i&YZmQ=@Oj(KE7LwC=poO*hC{Sw*ekE8MwS42)9lGHr9!qJY=1*?^5iS zZ^2IsZr!?dY-&mt^;Vf=O)!nQk*WqIUs5u^ zaQ=KR-UqlhHe*Xn(vhy1MG?)SQ4$GTK>~#;>EHb-!4_Lf`hhCvfCRk&HDniNV>$Ra z{YR&$UiSXi$=xO=i}iA|Z3f)8-0bT1G2sf?s(F(-$c5K7(yE^SUf${RiT9kFdV+M^ z_8n0vkEXg@N2;1vrM_piMY@o{iKCZ^rsLrF5|azclstS1I~|2X=<_m7L~LTndL>?} zL`fcoZ#3jMY6cy`x-Zkce;kB={j#6+gl}2@iO% zeE<4R-Ea$a0X=W4zS+i@*>20Kbk!X-?Tr`M3?vU&_ZYKrOD4sufUfnMDqYIbiej!e zy_}7d-}AH;D~d*yl$FVm%*@E3kza<3Al*B6C0EWwpk{8Lg%fxu6$y|YP?9zOrhfPR z4))tVe)yz5^r(w;T&ql6%XVEeKQ`;Q+Yfx$CXRCpJU)2+;6(r6)O!0{NtKsPe)?QW4rj) z#0V_v&9(2bzbE*d{YLva9_Pm=xfRn)8D>1A#S-FT;`cmpc2oOnxWs}zz%ys~|LeP?2OGSCYZ7|`b?2u7=Q{MI-E8x` zcLWJ8B?_zDHQ(W{6l$|!pzqdLAt^RuaVmiP@Q^PGWFlwh2vTdj1A+s5ZJKBxs&m%qs6@(If zj*D(09&|4j=ci+UjIH@TW9na@{_VT{dfc|WA_@765m`B=g7r5LMU>b1U*k5Sd2_!w zDgBWBzRONr>}F$2!XY92f8D@Q5~d;lL5k`~tA~*5G5{6qH>%a{D;q2DhX|r*3ksJf z=@k&N*P>ZeI!#~UuKN$sDel2_a%Szj{zaGJ7?tsXCd(p@dylB?m-t6VHGMynlzT2F zicapRsb2g#FCh5(yCML&ao6<{5)uf7#7Q+ZAeMM&@=4&iZW3LiP7T((9I#5zO=yK} z&?}c>+9QrLNa?rn+f)Dje-5#SkGzld9$zILvcz7dN*Ow1)m+AF&Mm@sO$0MPynI{gB^%M z)yFNAZ+Srq2wxpg*iGVV)OnyVM~u@1*qOp^B$@_IArfiYf7>OQR$L-fS<6w*Jca{f zwc6PM=JPjVHOn@n4D41Y8**)q&JK!~4ZLDt=5hX$-=~z=Ar`y3&#WOKyB-sM7WsN5 zg50PI={Gy#6TAz0PEL88PB!ixu3bv`x0Dh3hL}KL6X}#5k_eJRRwjP`(ZBz{h-KgD zC$;v1EmHnR>QnU$t?v7uvetCi$NRYKc~QLziITqOiPD=pm69zt*t{Nd8$+l z7Hr&)|8kEjs$QwHL?H~|wqMGDL~tB){z6r+5WnX*YJUV3;5O}k0zrd=YuDb=_`7h$ z_nUDz{N_+Q`)Iacw90by4#o|#N=okosCVp0V5a3OX*kFFLPkqAYIq?lYmY^JFWsY@ zOA|j+4cLj+u9suw772fqEdTu|IG7bd0R^RMH8{&%R6iHF0ZIwkc35N=#?$@y<-mA= zqb|09;VyQnj2%~_>X$E?Z<82RcE`eoZ#>l|q?xRsHtj4kPuKUbrx>%@Uuj+No1{#A8D(5{UfD%;Sjyx$84mQ{ zzxKcIwSONul5JV@verpdA!{aG;ys_Vl3!!*E{o~;mNpr+8|06Be^rufp}HmM(&WK( zM7tUu(_P(qenUhl}sh2CuaYjEt?loU*fnF@n0aAEbse_dapH zE`_)0?jl9(bqrNu?*S6;fWJ-)X7CyV;mv)on6*&7y>ygEhK z?&0<8PsH6hriTl4=RU1iw7hgHB&0!9|7Pr(Wj1-%TmIL~Jl?hYJ)8fkovEzDz$~$L za^zWk?|JWif7+A3F8a4`Twgm=xzt!DubQZKK8`ECdms3QEybRfi`xfp_r`(C2XynJ zbJLU?HDMS;pU!q=_MGD4i=`LtZz~mSwcfi){Mqa`2GHNG`nTWg-p|__OJ)0pT|?Hv zd4W>LY_D%oM_16b)#Fh;&8>~WW}^ZhH?ga>Dn(HHVGkX2Uh3-1wDsA0XuYu8*c@lH z;YsSdQW~57vekdP_@BRVpt>OFo2seyFuZ)-$63cpfx^UfT3S(pTGUu7-dU?tlvIUB zoLhLqca&b~{T2(+w43BUJ-zwX0jbz|_te{VH#_^hd0MBZ1pfH|G@LO@Q7DyLJK(Fc zG&e3DTWPExUZA&cPCFwZfWGg#*>+zAJB!p-mHD)TYKL$JgyP*7JqF(G_wM|vUUo7t z#3pY@?P_%Fy?@@fFJCmsC(FjKtCW*kG#{_n71GflT3d31lC?^XS=#a>_v12TK4PcY zE+4XR#xcHb%rwS1FH0=6LOlbW-zx%7Jjg2+qT7M0G)HXZNm3V($@u`k; z8rS~$-SBh2EA&mhVH$bl=0HNJT!<5{o7o~pS;ZVUH#u>c>Ev2Gp7h6#{kfxW_cWOs zcvW8BX1vi#JRm!w^hA!3TYcL=pxll4#(|Nyt$(IRf4=v>|LVZ@(B-6Fb=`5Xnc=79 zsvmgoIl9%ni1QN29f>*nbCRk?OX@2<-LzQmavp9iY-m5jIX&x-fg z@Jg(SD49!Y3;B=buRlL+ut=X{Aj1Ee&+$gph>8olsS3lR<;<(KsAr>eyOab36CK~C zZ;q*bENioC^dr_SW3lq$aQ>EO#e>fW0}hOIK8uMtwJuQhw5p-Pv9<#Butwwqnv zvZ+%OYYEv0`)o_U?Sn|q{?^;M<0WP6wo6ovd;WR9x&E$qGMHWKT99Y_dReOs7(|Zx zw0jY}`-WqJFZek*Uq4xCT-l$T=&~a~NgHox@7(~;p7`A+8yWB^H?65^!$Q&*&uRRD z3jFyl{{7ci%UT@1=AH7PnjbdQNSu13UVh8Y(Izk0mv_EMjy)!G4^=_@oqcQjCaG2G zhxM|Fn}SwtSK^2s*E=iulze*$YCQ8x)969Re?FsJDzF3t>A&lC=dAEQO{HPBH=FMA z2LPK7A?; zJRu=8+ebn_3G%u%hi#T^sf+M+In8s7LFatcKW{kKj^FPW=(V=4|exd7WPeohFZ0iQumYy$Pf_PhQ4tmh{ zd?Tg**C*n4-nw^N1lNYu?4~L~aL_OaCk<1^YKpGq(W}%n_R{UvtV>9)vA<|v;LBRy z7IV&Mo%K+_(Lz^A*|z2o_w<`NrUE+QJpb%>_BU_X__+GR>}{Xq{g)2B@Q!(2;i;S7 z8!y54wRW7M1>Wsid)X*ure5gx{BWCbmYi4spTyI19xk=hSsBl3(jQDtA2{)6*7%>F zM*WJ*f*L#COPTWC$gf7pmBxeNACj5o)PGN)tSdd{UaW5Bw{e_vDlsczB%UHdj%DB{dMcdx`2a2uFDP-5Os7;Hba7wRF~2} z+v*}&&9W^u4ePc{a?;Q5VA{d>In>f-CeoJH@S7nJzn@KMB_rm=QTy}q21Ms{&A>DFCk(FI} zdE;~ob6a0a+(-#yGM>sPYyQsZ>6^3Y*wb(_L9F}pGJ%AIsz82c2bmy5?Z;2} z^G{rl9P_p6FO66*pVdvNyd2xzNt4@Jb#b+Ak4$5a5>8S^#ti48<-9%ntXDB^<=tfa zo)Wvx-@HGRb9hgS>g;5Im6nu&1G*@|A)Of zmTE8@_NZ+R(Z{ZkkkF#qg3x%wuFB7rV^KlW6vphKGBIqSi| z{q??12HbTBrCPPSbgI2)Hc-o~aG;qSX;TGQlRTG)ti2EA84Fa@{@a&>xu2gXWfNcE z8kY>j0W@5vE*e^Xt;=2J)IV&Ztmo&W%A#+k7@8-??s%~(_XUp+HI2>b zcq^kg7A0mXLGjf*sZ{?jVDkUp_+Q`e_q9!q^IE@?CBCLy-K{Bgs_Mm1*hI_kXXzC_ z6})8hZVYyJtkG9sy?5ckZmPp8>o-t!X6l9Sy?%PgLLl%4uZ8cX|6xl_|2fUgXVm<_Go}k)u1f-U;cbJaIN-#F8TpV7n$JrE_Rr>vB3QhKP>s%FN`}z7&{4$v*s|rJPRsqi}Av zRm?>}Ljdn7&0LKa)I~#E6~{g6{8h2{ej3Z@d}h74or`Y<7pIqfCoHBi`Es6%i|U_) zDU;ussB$NVo~+=Ra7pg_)WeV!r7A(4s^5N8OUqphN^eVBmvl3O!#1~YtK(Aw#;iqB zM~>BWug%+SqEf-ci?LfL)C~VD5&yL|fB(ic6)cR9L-Oxw9qeavRe4jpAP1E}u5{*S{4Ew3{r7o*%Q~iZryOCfh|pg>on( z>70SRcFfCOWY09mL%V;qtLja@YAq=4(nj7pYuO^#G{WLS@ov#jE*U8 zjUCEizw#|G(ck(6r=I#~fz3o1(7q@wfQy67K;_|vYjR+VHyd{QUfe;fw9LF zcKcoHu^j0%@XCC8GOhnh+R4MFejgIIj?q=uGWDpl|MOn4dV}2S)l;D|)oqc-PQBUg zYtq*KTmHh1sPUa4(%lMj^J`L`A_^t3^1b^7wDQcKdm_)+jYZ=CX7&Udo!~*#XJa{# z?PFs07~c4+`E>1j=RGpX+GVtQPhC1vZO#eZ_Z#sqJQL?*4RT0Fv+d;9h&0KYPiTtm z=9g8J=>D@A2y%7hj8obZY<=;LS)YiRk0zta*4PT(sbpi8c?9o~t;)HR zlPN2NCBK{%hs{giHZMAKQf~duY6f}^5#>7b$}L*AklC-Q=(d%;(%KYUWqpxWzAb}Y z`oN3P;!he^sM?A`ly0QiJ-N`r7roZ^O3~hF&et}t@@_wNStk_`{no%nMfRIw;{SV_ zfB)9??xOKjV)wCiRsE9(9zSG@(5ov+eLbgreu+^^X-3>72ZR$*p6r?4vNRQwvV)nd z*&ib>r7AQEWXBJ&;LcJV>+7;M4|r7Ys0Qm@wEw02<=&Rov9!LNUP0Q)s~vhQg})!R z=IQ;qwpgX~=sz!($@9X?qfK9>BDr@* zVH8mTVeZ-ThB~sZDtvBe*bos;(7D;oiXUxm1Ge6VQv4yswJzs1g`90tTV%34KqM>p zN#*0>Ca3Mx6dvt)pH&NwGQBC(?9u!m+l=eoGrda192TKc`;AZS`Tdm3vQm2PJi z2{x;|AOEw8RLEf`Gp^65U~b#BRAuC3$f>gV$OD=L<|`C_*A%iW$I=>OpS$X1<>$R< zKSZsV!nb7XP*z_4KekO$Vq~P1LF>No3k-M6KO6ntQgP}go1|C#`9ANecniJ_-i5`s zw3AI$^=8b20pAb%QL%7sey5ei!;hTU^=A8BHx^5wuuXaL>&xQUhL_DYFPCHr?zN>A z=M4U{723Zi%Zy#oQSK+5g8pBB{^`9&ZzDkkJ_zM+gYvhxo$5Vdy zb@%m5RSxISXb#OVgylk7>U+SOJ8$?fEv-~m&$|n}HH(`P=s7y0H%WGF{O1$h_^t!b z+(b#9*{s(~=&ebtJXP?P2VGt?4))>Coz*TtF2b(6fKh@8*M8W zySd!qyuEdda)4RILznecc+(VntXkJRGTF@g=cojSdxVY%Uc&&`_%&$KaB}`n;QXuK zb}|d<)MTuUo@uAZWu1tB5$5Q&{nuR)WzBClmaUlg9dF*7o7nFpDw8FDP+}d`pz+7x zs)En1oCeJl0V|_Io0zj=q}O?wl|6LXT)pTdMls&|yTRG6{o;S{uyzp@91LxGj9K7E z!3hM_C>rfa{dIA^qDR~-M^}V?hEyaO&Vhdr^_`z24+xp?_6cnU{jY?*4ArnZpITa+ zoHwXj(~A2M;$A8w^9jL5qK+CFi%C}r>WKWBqbO+gL*78Q;U%&umQ+xM^)Sqb+obbh zc_80%=lpZtbYZaG8bpq?h>6Sm?mgOoI?lLzPJ7v`YisE?0<}zr0nFJ9m z8jE5f{(SaRwxtAmGdR4vdV2|}rBPj0Aj@t(?Sp3XVlWv8!{PhP8(b`HRIn8DZ{-q3 zFX*+DRO|SUP*77Rpf25q22zjg>}=3O>6n?D7Y}^}D=WovLJ0f}sZyuU*hJEM+z68D;%W?Cj-|yY)1O2iZwDK?qhZVvl9tDoxL&oe^U#);T zEkC3($Qn(6eAd+U_o=Vsg(dlBPphRGDY)*4`=#pc1E4&@bxUuzW|fot@d5_O1uJrlJ?vHF@*j?yvvfchgV;5{I^%pgOH1H4I$uSMMEHyD}16@1rj;&5FiW9&_cTj zB?N!LKXLT|1xN?81n?d$e6-94>cr4p<$s!o$KW}mDFeFaAc1j>gs#H4AsKHL4Sg2o zL)g-U^p)QCVQ?Yl9aa%N*Ah(`#vy4pTB1LH{wzHLJK+LSq}H<03KkGgnEF73sY99Z zpm6`k7k76sDba!TXI8dpa?3x0Bv4VPyCL6bLPWs9!*H5pspUy@KngN z(CjX(CHMf?83pg(m(&CotpV%B42?x)~2d|0J|khP5dDC{j9!()B<@@4%mzkEb#e*(QW zx|l{nh;M|sjkX)m(5{2?;6dmfXsSWg>_cyZLOI&qq*}(IzN*E)ZAH|hM~^N;aH$6D z-1A|Mcx}k*t3h5f>v+HEf`C8?nCVy*XdQ-lFstVMG{2KkJ_rdvt%8Sh4e}L7UVF_W z;F54~pY=2XO^w)0^uhFh%0xv)N#}CkK?gqr^ZZo+1G{rWYi&KVf}!DwkY{nIp<`J_E5S~kuH!ZXjF+Iwur!}Mc~WTPa*$h;Li ztoIpNDM9G=CW!QYKL7u<3V!d(n+an%?nd#^>X@?+eZ`AK*-MZqHCMeW_>Q67q8n7@*r>ETAE)gf=f(IEg3D?tQcK^TY)17_tLHF}R&$#qJ*XV$v-F zhV9c{#Yfu?PjtBOMT759+&VHck^ntoZ8WQ_t8?6bG#Jt$k?2-PbN1_dS6Ik^{;UHB z4v>y8bhkyLJ3tqVejWNCGh<_-upsrK8*+5*CD=7YSBw zi90RuaGtKgLH&-<_r6@Fr2D`t+!i`oAs~V^a{THb3Nd$4$ia~2n1EO(YCaX}n_tgl zbq8>pi;yOmmRt69m>WoV_51eiv+!P)fF8jE(DGlvZPR4QW}0X$Ld}iPOQrmbu}Fl+ z4vLqkSy^?p6k35UbZKArC46|E6UYzdG-1nF`9SvvTS(XZ!X>zEnhBU%keB_ju!z+(Az`X z$L48#HLS^Lce7HImK}PSw1xl^zQHJ2nB0H$il68r`|#MN5s!|&jVCeGUMZ+K{q@T^ zh?Xd%c(q@6#fc~e#;_Lb({0McB14`(7-l|{n-&&>biT^}5NvA+KUnkN}5Q|G?9SFr_dGTp~J!@MK9_|Wrbhr&4_FTQs7hVyoqd^)@AZe_FpoU%{N&Q>f zlP(xD96~d@L0j$Tzx0KMr{1~wQRj=8d zOiCYd>ptpz*Z-j1J6_xwme0%gtz8nd$Y8w_Crfl`%TWY9zp}7Q@KpAos413f@g;{^0PA4?^{PE_jP^Hb+s-aO*Bq}Z z_!Cpoxz6G}0U0{^oVLbB1wvkjOpy!>5Gd{?uV0^GVqzNm`t=g}4#^*q9=CJ%Hxi-I z2{cyp;?8~0DGW2GIjVpJp&nve3B=2Fxp)q3f=F2{Pv0@um97@(Z?1-dlUrvhUU^G& z#RIp_uC6c$)6ytXvuZv;6J3?ZiEJp(xT42*eo|gY=pp((bRy2DoxoYRcmKYkT_A$y z3#x}q9{b7iuiI}OBbOlSenf2B_Vu@5CMnT=4*SYuD@(;~c1d4f-{z3wAR;B*)|^au zL4EFNMEbgLvq@dHXzY;&(>g9-06oLhw`R^{f{bT&jD zyrmiq>C)&+bR4z?TOVD%QAef1rPF{ca3lXkw96;+_8kx9w8$4+;24MmcH#7<6 zLrv^rtfwpn>Ci;@lO7@mZlllqKHVBS(SMhcRV3+#*>G1b2x^tfNkdA541}pRGlWNS zXG|-JLMWwW_R|XQSI8kq4EEDK6Qaxmb=_+AX>@xKlXdp&w)}&NSl-%XEeSiAW@5H) zwB^MW6$yb)I{sobu>xW z{$1_lSX*t2xQ+?O_xeVt0uEbOceiGx$`y~DXf3<+N4Uz^WXR!5LVYqrq(w`M7R|Ma z$(l|itHB8*HVs06u#>4NNNEvZ3LSAT?tRYh3@y1(q##FZdEyT9!NY-(tr9$m%^s?w zV&Uc~`5B$<+Gty~5OTkTb*;q`;f11o(_qgL$MLBt4(?Se?qZg-DhQ%tm-_3IG%jLd z*3p*awVNnIaSo5j6U$HXX1FNQyNuB1Qkcjy5=}u=s~Ek|q!$$Q{F+2HLE>@I<5UNm zFO!{Sp6~$zY-UuvH#uAEHw*i48V6epfAa2RcP|blgSc9>p6oht77_Nvu_o*V1C{sn z7}A9;DuV|hePtw$1Kn2-La>y4w{i$A`u6IzO%tM5io{(QzQ;cL4X#1EY%t$r;mHq% zwI~UJu3|dZc?0eiNi=Yy`nk#`I=wa$Yxf&(U()76xo&Qq`#c_Lf+`D zsJW(kgTVE+JH)4B+4r2)ccn8&Z$|W)mQOoITyjz`Zb>(H{lGO~dQRZQH*yBQ50ZI| zA^Q-V3tBt}S9Ni*uv(#WEjlg@jk&G@E|`QpZRlJWd;_CP^b$y0D>)8G)-h@tIiY)H zrNdqW95Xmokue{1Od$%bKAjC$^QewVDZ{nfy72<~jH=Dr(6g=1p_L~m4ZCFGGeX8& z8|gyVMv(`Xr&oK-8szf|w2?G9wMf{eGc1?ner)FOVz^L2@5&A>R7xH5-Md z=Abu;jS*)SIGzqW)d&AVShu`rw#AO1uM7Y^yri+QQBx~i&ca4%Q404niGxflkLiKw zkhxN?HvPdHzVw>0O5RNE^zos@aExReLqB_O{1i3FY@P>{ltgu_KS^D1R1fG;->)-n zADD1bHunYTAqY8LnRnCHz*^67ETcBD}&}|Cw>kxxMGD{NV@SP(l)>Mi)WqW z&2H;_t&`t@N1>ftwrn|9K2#a|Sdc3dRNd@du+diM0n`_|r3%?}kCP$E=gN`== z!80tREe^ju%FDY{?1T1yoaSf4f%fek9XR-(f6{~6=6x(lD2aacERaB&qmzq*Nxv~B zb*L?06_A#2y*III@ThLNt&q$$D_f2r^V1ruN&zY5VsHY-DZPf5*K9D{QSws<00r2N zroj&rMK@ex><199Ac>jm9BOEghy36bZU{bzRs29ReI?u8QN}%YB~-vUGeIOZKDxj+ zePXeFKhKy8E4R;qfLkRO)CA`GUCv49lw01D$-LuR`PB7J!WR3ueS2)^TK5Ldb#G*O zImds@-Y!$gU&(;QurT2Gh4VfJEDY>JidUxgj%qLSOY90X)b8mJt8g0Lj3o)BV zc{j>I(uc5=QdSSZ0wv5&oOe$LmH)-zi=G$&4jXtl3Tc%h#t14YADdtM4hlgLvqYst z7jrp_RVt7LqdCK)dv;ki^3nmwpYSyfAiJzV3Tt2yaQN{~=71MHhiTz{+{S?r9hup+ zanmLl92bgh+pdo%|FH3eHXyTV6F;vDpxGv`T!!7iQYv}pPkpV6ezT_!%I$Oqts!a? z!{ffM&TfRWGuD+_W=eIH8V5DR!lepaVxTpz8sy&hXCG-ReyyHel9RgUoB;>JVF|vj zVESj0%#=>+vSQ~4_8jGX+;gk>55i1U0Z!=4Wc1Aw6+p*n44-@Jtg~YOBEYeygQ*`s zPAsk>G8>QT(A-eX&U(rS0wgI@zz`M9MzFA?;qQu|h&%B#Xl7hjhcF=my3JQkABvj( zc?HV0AueXv${}j|cSCCnLBfUL>+RU-k$_}5xYW>YF0qs!5fMQ!7-Mh$Fld^*fRt5v za4u42(Qz)Q{ENwQ=pbgqq-1Xqka}kdv7FLAJst$RXdn? z&Axx>z8nR$HQzawKTF$1RTv@=44hIS#S$-n{g#U7)DA26A3J;YtXu95Y|x^jBDRV= ztI_Mh?1;+PDoV@mZ%STxW`!9sR|{!8eS!Dk$Zv~9kG6;XlNBsa5y@!yRO}W4486F` zE_Y&Tst(;^`Yg+ciebT*-P6$%V)~3xq3THTavab^C`a6ko+qgq5Nk!AW#lSEY3;Es z?(F*Hr<$CpCcUF7s<}3)kUY>IH+6U4omZ|IQ7EIUf+=z&JAK^*Fe1h1%UR#RAKI<> zMQ*e`s+>unj+$erpU@rHXaPe~U91*0^6+Y+a&DEc7HtL7BXSV>`XWv~3p zOJ+(b+;M%OyYtJBBQ}nAj#sR`@oa7(!lg`WIfYg9a;2tkg;>d+xE#rxeLH6_O`l|w zRO)rwSiJgsAf;}+dGqESJ8e$iT98Kwl}gNYc1;OswD#?8M5-f}GKF@JFl!YHg2qtL zU3!Jx1Z@ILO@+ea8&>>jX~#EEDfQ7hCqQZ$WG38)G=E~2ou+ZQ-=4L}JMv;ZF??yYC0F$LOO*^n0ucYF`R5$lm$*3I>QS%EzGFwWd;12u`;< zF5`l~FxdyflI0d+Fk=s~<;}I}S(j%I)yJ2*Q?aIYes~sZ{Y*HP1{?m%8 z!sg~v1p~l1M5;d_#6PUir0sGxbnq3hWys+qX(!+o5s3_9DIu}ynV)ZeCl!hIVfw?X zu0DZ#flW9AaSvAR^=`%^tvs7{v(Qx95HJ&k2w(qXbS2R)FJr!~M@WdBYH9*LVr)!g zmZFlT4}hC&nUj-~SW@U%AOTiSTaU@J*GnRm7ayI2U>+L3w7im8Lk7n(lB7}g*!Jw= z{oj9YNHyB_?*`R1`QE)ky;e8=+FL_eBux`*e&caBAj>s0i#b#8^~9SwyEZATXa0H$ zBNpy$Rr`C5T`8G$Vgs3$L5!hYZ?nB7@5cOuNwL=u3*T`%aX#u_(n|;J_1d^+dp?*ZIJa(+r7HQV0BP$&yfT0MF+9*2i%!dNec|F93HnSS@ z3somhLGU}DC>1niV~`Dv<1y9}(%$;n03e3%j(aPG0wKby4ILDLLjLvWRtgRZ3OYZ4 zjP?ce3-nFi1IaKS?-mn=q)~2Yy^3ww5mTx5-rncB!Y?M|bo|-T!QCV6cpiA7POYe3 zsBDfsTKIsLm)_{nI?~u@tlGV}BVLA2mo$Pj2!c~n2pS(pW5W{1W;lh zjN7_83|#Q&S6j#b{yB$%53;BmW*bAVB6FU@Y_@H2ME-^#gN-;=LfKHWzL`fy`}sI zqo{6=77BwFif{{M!@h$1^=!6hT+hC3cXHNT!)d4-PF^-0PB*1ULm1~ zfiv|owzmxYbL>Gsm5@FrEwk2kZ;ceMMB}8Nx$oH_?q$PGD&=vfRh%Eym1!ogn%Z>f z-Lu-=ZmS>t0T`5;nwzIuF(2Nzf+d+GyjFGyB5hE*C>TfO5cS)W-euiC4UkQUyu8}u z1nq8avq(Uyj7_KX>KO0g6mea?4vkK+;8fH;G_5wTcm#k<91#yPUrC6K5H&EG1O)M= z(SfXz8Zm6tXuQ&Z625qb^<5Qa$+GsCh-{r$SofpS5Z#rdK#dCUZO|E;og(2e$ zssWMSq0Ox&L*mK`7DmHgxM~CBu6##4AFT00@hZ+E`g-kQ}8l7OnN{ z(By^OjD#5=U>$n-msb@JcGDpultVzm*t7@G77*n|uFGfP1?mxU{uT>Bm#%h|#EPkO zOpnZkitA&SipB&@uf}8FqfJ}4dPLy*)yb4>+ClgnZ7BS*c#CrQ`@2EzDJ+W?a*I1E zHlT=zfKsYO4sEuMT8gEB@*u-)_SlxF+W_xsICf6+sq#KKoywpycWEk~AHQ}7Z+pmw z>J4wR{xFAxFg4!#r2n$>zznYd9V?y+y)d{R*P-lK7k)HXy)TAvI# z^!om-{Q2yDrpTD)7wJyUW9R3`hEiwa%EnAm?YDmRq`Fq}Fk+$0gf+@|wafW|1GM>4 zUlTe8srOUdC{T3|5!@Q0w(ET{QCislVnISXci9EVXCxE;5};BzRs(eUMasM;N5ViJeY4iQu{?=0F%RK_slVQh5tG8v#4F1kDQ zMvEf4g1sWNsuGq~sQ(;A!7Nfm%G;O}5t`A1CVk!Jv^ZSPqgN4=ETN~7o+9wU`2H5^ zct9qKDbrB7ti^n>&i3}}J<|5xNT`F)ejy?b=gQYSF@ib>t}cPFwgxpy>BQ>=+oyd| zI7RwQ;80xNysL!b=QV3eP`CknCXEam@*o$1zlk8sNLMH)@H3DAB=t#+q79_~vLR8; zJ!cAn%rQu$Id~EP$@Dj+#)xStzHuwGfP-WVn1)*nRix{O#vpXY9JRtP;EaK_FuQ$v zFSnUc1&>#*{rd_gmzWeI6BDAQk_u4kr-79#SI!|1B_#3efFF^NIYhG@3)`bRXsOZW za!Dm%vu@jaP@9WF#x#y9eu&@P#vOa)qAwjMeFKco##r7RGq&(7nB7q`*%*61LFupFLsO^lceeJod&p{ z3jV`TOST*;?6t566u5GDnbo{{h}k^76I%wv;eJJOOJ0Y(6s-9a>r5Z0sk%!^04 zNW24)sqr`f{z#R z$URFiiUCS`?k&lvF5!%bqt+@mHiu+v5__CxhI9T3(ZhuC_U$TLhazSuP#7IBd7_4M zQC}kD0tB_qJaQ;{5m@JH94w3Or;NmwinK6tVx z;zKCZ@5^qePLg3j7YHXQN-AOk1wc3(I?kB{d;a2Q3|*$B55T$R-sz1t){v=X3M}$I>>b$==u5QLY?I= zowl3wqs&<=eliqnZHN}k&eAAqJZd}|N1v~`r|Yx+a?gED&F|1v(HOL?EFGtLr$3om zh`N15frQPpTa-BL%F4>(VT={80$Of{%p?vYqu&{#p2>e+s1k12Ls@uQmbAmU87+$6+NyD+F&C<>6 z%bTAehouZIj9B7N^v921!X=1o2BFMAL8G{|^x_`{iD;bY=EH%og@^&jL4tNBsdc-B ze*74!`t%Tten+7T(NPW4{^+NJ>0N-hLF zmUF1TN<;38D06J0=2e0g;}fxD6kGIwQ-OK#6pBRQD3v>Y%kPMwEzD_CyDh0k!zeC7 zU#|%@6(12EX6PCstmsEhyQ7U2N$qyNw&ggC-I{|cT|ka9ku)VKT5QXfKAY&Tp}6*Q_BS0jhsNEv!GBv!panG&$>j zTD>^HCsvVWf=+;QzNhb1slgLlY{FEuCJ0mhoYbe-qD)_;bHrIC6&tJE5&U!pmbqwtM>{Ix0ulLID z?G{NnVDZW4OhdygNzE;PFH9%VJW7RMW2?Y+y)WRrH;O1+K)4fc|G}o;M8F@Yf&6Hy zS)Zh1iB#-XQ2(%R$lx}tcLXqEF|-fzss zfHAl}FW|6D&_;7y5>>d2%BSTd$rx0T8z&d3ej@_s;fLkN$H(D@{Rb_=;|5!EuV8~DZr*qL zdFLbg+xN~%O*_aYq|G2%?Mg~lS9pN2-s5Q zS^;!L!+3!MluB?#uL^U3_r$EgTgKAl3qWEu29z^sGfH2*8bpGI&OFp)$Pt4uTh&_X zn?V?IBM&e~r+m_~vAwOU7@(1C#SDVC$zs|-8U}ID79W!+eOc5y+iz3~H^HJu%x4mP!JrD|N0Fzy>`dBV$2TpFNR_ zgeR@-X(+|tyDzG=0ChohRP_1$l)K^?6)-L0e6)%yHtSf6DwMjhLW++exzX=hf{mAZ z!<_Lm*}S|wA}kBA%DuM<@^gg!xwP~{j&+n?`lAASOjp%YwK~4QqYTzlIy)x^2jiv; zav*px)pPrRo`SK>JtA0eeG}8-yl?W|WY63@Q9}>gLvJfuQ;soCigA2|{hk{A;oU5S0_sJL#l{niFIF8(FFhgGZS5TRbnhS9Bz?xfiXrY-9GpuYJCcSe4kcWo zk_@q0R^>3qWfHUzomDV@H1DuvrF=!iMMx;=HAN|N$NnaIv_XU~F3cA8zM>io~^ zw_k$cM}?SAK{;y|qD!(XW6VYkp}t#>o$ocwC5+U}iEwPemk!G`8x16u4|41T^vb$9 zYvR)b-mDIAX*l?&BA$#Z8L%B@Txh1LV9T%@Sdm z$w@}YN9?vgr}0^oUqRiB#DJ15#I%Emax00PadI>8qK6kJc^zF`(&_YMtAU?M6W7&? zL8Fy`y<||(hv#4d69!_YU{#ny?05Uc6$7;~wCEPDUd95j_>bKC&;wVMZbjx|3_d>( zYTPrF*Zr@?VNxjv!;RDjkhYD+5h08SkkCo#@BNeAMEY+Zv@PNB2jC|N`v@ex6tE+( zh%}Aup)ft#C>??NNG5!FZngJQ#}!pDH|C~~$j)UQaOqI?a01_Ae!V0xzd9m1i(u}^ z93_z!)C0CcG%FD%n?anlCByg}LI8}8CzMzB&JVr4+Jwc5u&^HPJ+5RNI=n=zkrcgd z+SyH_cB2a$BJ0J3aS8IUv^8XgVRuzQJ}Pf2*fNRz0mS|)XFcDCvRo!HjPR_A%JjqF zY``A&q96zP_iDuDq(mOWx`2a9gcr%b#7qqO#tJ^Xexlz9jm;p$ehPNZxnzKRqu%mt zg?*CD>v70wN#(S@IJY*YTVX6&4&Eou$9spT-`3r`z4dQ1R}~@%oFH(J+W_Lu#KwxQ zfA>ocgK=W45+R2g?uCTZw6lLhzSpKdlSW&e2UGX{HtJ;+!?;@v)gDY)r?T~`ulQ~} zs=U$VVf}FKm)$0^zTGNrp$#8>ZC<`eY!6w*()p>Avy(n()iKMW;*iJ}Tr9u+fqv`M zd0Zi=d}CGk1d+~!r0)bcD@W)TAaE3gLE%JylOB9b1XhF)NhFH#uAp%%5LK=UiB444 z_06Ls09|1+Lp*}%NC4dZ^$CGfBW=tO`mFT>s+0VUQ~}o#$8=?(8Icg-WH+SjB``RV zht=nha3i|NxtPv?mA-su5^V)4Bzi;H*9@>P;D0jjoMc6qD;-P#3&nQRu})z^yd|Qm zoDzt72z?PRk63z=3xoN2P3Gt|=&fVe$tJ`?@7ir?!shbevMdRe`X@a|>Jr~Z#3tFb zKkhFM4hP!Ri$hTldnv`3ot*ZZA%;#SS~}@xmSvJZ5TJk*5Y6IHb0srjcYqg+OsMgY zrgL??@+s7+OM-I|hJ8d*Kjf(aFmYY01zH4vzYbZb*g(r#f(%e1!;rt>XFgztk~Kx~ zRq%r2k)^OWFmh2*NdWPp7c{xcxS|_R4@lY3&{HPx<2c{l!x&*43Y>?A-bXCv|JZuZ zfGE$cT{zi^F_!37QG*4ef=G`vrAeZq0s^6Tu+Xd0ly0n16p<=jsnVrOw?q*TkUA6r zMd?jxL!WakllS}Hlbrn7$&Qh6p66coT31{6g%-#*77sNAssYNcq4;=%&RrDK2}E*St}pRano2$0Q%aY%NjPv;oBDYB{PD+c)H`65 z6zzx(1QJT1E&|&joO^BN7{dzMtGesO{6Xv!;~bl3vhW@FeO$yu{05CUfrCETg1T8p zplMXYb;V!G%|*jGdXq`)PvR=ysBK&Eq-!e5yXG1tNwKhy(-ib{Tz5$+^T!LYV0AR ze+HPIDwa!=yOJkjiaMgs+<86FzPl@#@zO}RDlhUsmOUSOVVZa;D@=I^v=Mf57#I2u&3Nyv=36S$YWvz>=WG1|<~1X*=8tQ)_N z&&aLA_uKu8TB$k@aPWr63IhCzKBk0}6vexKQMq9-Ao~Y$Z`IIYt4n{th@1?pff!z^ zDEvcJZLJC^aB5;kzI+pz>_kl0}!rVM7TKL z@>MLkWat`b_`?4L4M*XwA${VDdM)=Eu+)=Kq091!yPQ4y8(LRUjGU3uu4?q6`uaBG zXy-y}Mv!*Qu0p8727v|*)a-{MgHx6p?kgHSai`>2)Li`fn@OVa-96EPQGPRj4L(~U zY8?dYrhsiCsqo^W)${O%2A+cW(I3d@PC#P`5fHsh1pJ^RlM4brY7#aVZrx9zfol)W zJn7zc6xq7iObHc&`|ho^9}o1NS;ubA`` zq##~e)pN|g@sB1)2C~sS%FSahgk9H95`h9cvLJORWE9#yaiXr%q>X z{-NrTrM|_rh=$a=*CW^xmWPM&i1#1577@BFK;3RutZP?@N9)k6L*6f6va>Go<0L4$ zVFj%~r>x7cj!%_D>N@20qbv`gY|20CL`|b=ivyT%QA4rK0P>Q-knxO4;dx_{FsZ|~ zxATM8>ZFG8y%FRto}D5_s_cFv>!u|2V?Y2(sTAY)w8Xv}0{Uoz87x8jP69<-Uc2Ri zR@Fh2l?s7@MSYw+odq=TK&w(|=D=&T1?%czg|kebyAUKLImG>_$ zE~adC+G2p4LSd>CKb5}Vu)>1Por2SF@p_fmvS zHbOF)^Y{c|d4*@6PM5LaSUALpS+CqFQV)<5-(}*F7iE<6iW><_Vopz;06AG5DsqhG zUiG*8(Kz~)86_}4T&AG2kZ~2Wk>)!fT3nw z$q`oanUnZ4VSFT?9V{k>=wOU#@W#~81UVsgxag438MFa@izyI&DuhI1sqfvv1@y6d z=9UDr9k9LwP9uRf>pQiIYTfJe;Qt#S8CaF>Kra4JY#I7`r$aZwHbs^ec_SnaM`HxA zY?4+iOPrpZ%(1f5({X!=7HK4cvoCY%18+%Xut4~5E+z z-W|W>xBUEZi`s|o#Cb0g6ss-6VInHSIX zc&ow{T`DDgxW=mUKnTauWMRyXg|MA{Tvc_NrPa+IM0 zi=XVv&p8psTKCpjs)m;MIfn*!&VfyV40aaBmllWB2yF6Evj z6raJ%Rh|LrrHoQ89X_Oq17L`<((NrnR;C5S!^l-vKG*ekjZA#p2Nb0cS-7;ZiMRv` zaK{DGGi=k!_a*`Ze?^xnt+jxih8zNPzmUd~TpTavahr#HoC9p)&)<<1*Uu{f2bdPv zob{=uecf{4D-p&H?I!t0p-LveKRm(^7bsRd9wJiWoN<)2E4^KR?f;PYpnU>|g7RMF z+&@6Phhq>P*`dbk`!Oyye$G6g#gp)z;jG~`PCvaDH^!d?|Dfou9tFTT)0 z@H{6N5=k_hVm+gbyc!@pQrLVMyC6$TX2Sj@2SiO1cb@uNWZp_%y`DG{GKU+4Cs;#I zEh{`Q&ILjMkMfX4?u;eK2-Jo!aO7&mwIEv1@F-4Ox5x_UX8jrS zI`miEg#2^!Z!w=4))<3*xs(sljP1GK&mN@(d1}RW73KC?=N4wp0l*Ndu%=btfcwf| zZ+jBs*<7QvO0o9-g}P~*#m5Rl_zEGg`KfgX&-nEd(SN?`7gLiFgXrKSDtWahS;L`W z|A$rmlkXvlO25w=oIUC~^2&(fwjP;Y+_No=R0F&-ns0s|T|OCDtA4Gw#rwda2d8dC z4_R4raIE2FU3kR7DrgurkAL-XZ`V=2z!VElyy>SUKInd?ADnd+AP&_!THKZ;x0a=a zXnqi`Zw2E|QVcD6@u-v4cprhI2A>4Sy*Sl?Kx4se+~${ zzXw0Ubob1gx8T?N4{hYtI4-8`0KjjO@FyKK{KqGXU-L^#8$cIwDr>CV8w(+Bz#?bT zup06xf}pb)koD1(g!`yEq0ej?9wb4OVkFM5kigoc6S+T)c(dk>3roL?Go%0J&K-ia&;jqn?D8Uc9;f&|aPWl3-1tBs zNLAEJQE3KHq)$w{9Y20NtXJIP%`Yg$6(lrs_Kyz_&gz}N4wh>Gz7axx1)|1q0pn;S z%q@n=?2wxN*<MDiqrFr z4C2(z8R+W^8SIOS)6x4+__`PFq!ioOpgfJa91w697x zOdELUw*eYET$7~zIp%bRP=#N%nt#Sqj{@1I%Kjfiw?vE42xQ`h{*zvwDJ*9kfW=V@ z-M$=?04-47(0_+ii!58d+!`3pjpk#ww*-x(jGutzZ= zVSZCKzLBWGC>)zZ_)j!2rig(}3O$j)$;6C!yliPM1w(fVzUEiR1t1&;Qhbd^C!cbT z$)`W$O^P{g4JEh|6cOIzE+!@>g}tWY;BcX!t0SZcuYm!6)TRz>5{ybHm$!=Ynj0|5 zAWR7TTlQ?I?(b+@UtB$nUo?kR4Ym$;fUv>vgrB5sGz82k^|s%{nl#jYm>vQ@PJtSU zFNm1wLgE3C<`@%M@5RVO+(9c>ug<9mm3KvtNU~F66)g+Ban~hz$+STA7-k0BF4S${ zj8z&8(9+;NmuMXVfe6ORD$Gn#4da^{zsrI?z-;GtPrmjk>zYZ#4U~dC^E{&k02G4f z^cnyY5g_+M2CGSw^F#&GaCrp3!^mx&qLHK~F7sRq2*KTM2BWdlTeljwufG94No~WV zXDcQ(fi`pboiPHBixQW1h+Mg9`dao@FXxx{Q`YGn?;= zYd;jEU^i#x@pa@u1HFKk8#Us`*(cuqVB)2ksXF-S%yI$Af>(GoMR_}pOLcW76&H+e z*)I1*k`%hHRwy~ZTj5$nfPb-bV&#Vd}2sf%-wM!x1+- zb;{^I{4O7^EaP}+P>=;@XxjbzKfysp3mABU4KY1PRZIbDO$_7X0&)*HX(%8+Ta8`I z3WbB#pA3>yA3r{|)Ek_frQ5AU&I12-+DuCRLM3GPKKiwO{=0@MGu z)&M`0m}$vh1j@Q2_p@MZv1B|I!VYCfOl0(@-)yrEUZM93w4 z(NYfM^^Cu;2wZ4WNb!S%N`wN8`Be~I@jhmWDWwe#)$w}J(?eRs*vEjFHkUm$y4 zB3=2;l$!jR=raGrmlm#C!}b=}QZLoU(N7dU0XPFtJZ;p1T^Ilv~Ukc{1Ebdg|%&9XbX#P1Df4SYmn9jpp`TYi{g6a;iP= z?A(M7D`Kz|L-+vTGE2$bKn*MlYxRJtC5^gb(l8MYt#?+&IHA@Npf{_bhK4oLg0vWz zcKn;N{p&#&X)v*G(gMd?t9oi;0%ex$!Ki{dVp3wz+`#!MKi&q!yk4dZA3}vgsP(~x zeXydF0|@+Rw8_pB=%F!kz1Qfw0!kJ}fAQ*I4b=o79{9uor>-i5YLap&&sN`O`nzSz zEWtAjND3W1Xha*KFNw*@mT9b7E}{oW0lu2&CK*_|CD9Q*79b3yRAWZ~mSn#H?rG~a zO*~1=ksD66Nx1EAG7umm04NvoZsh;m4g!PL@m&0%p=EtEC|ue;BiX3G}atB#x|TNAd)A*hVUuwI8ayshKgD zKpXKyjzu+NCzVFeO1o>lzxJ|i*_aGLlEqL@8o9F0H+AYQ%{dfE#*evr=jGUH>s*VN zICSG1hx3`K8=iAW^R3Z{vWi_TC7bfMDeD@xvgd5uPE#{4cGLA#hij8skH%lDy(7pP zAt7JLRJ24ontpe=RS@*o0Ow;w9YC&!0A61Ddat(x77PjHxtJ+@A??GrFexP#(qIOt zTe-nwfBvmmF8!lH_JQ!5H_3oS)vCr4*Az%Im`8@#7n%I>(Ea3DrE|$?;GC;tNJ$N| zzVQ+MUQ2ZK@?OI_vA8XWb%{$gF1`Rn42mI5P@v~xYF*J_601ukuyO{Hg-D zThPkuV#_JEsn|?pJN8tX21t;w=(8J`E3iVTQQ>WjWBd2-$Ct(!EbvzoD9V{08Z9&Z zllkAIlCJnkmV|H^9J@ec0tZXMtyJ#mL($@Y+77W(mTOYB05&Y{doctal0ERxQnDS0 zS+6fs>i~>ZKjkca@L*?*C%fhwn+gdiRoMMF%^xv7RBlq^i;!_0H~Eh1Ul{R%{>Kl9 zzS@*LQY4b_l|V_GDD(9vkrXYLhW@*ybDk{qxqwMM+nU z#JzySNtZ$lE_e`r-dgz#$fX1f9{*fdh#fq%_a@ts_MQ4nV^7x4N)sZF)Asfr~*V(9rt%*j#6ccmlQ#J4b&u4_a%CB?h8d|eYW6LukJN> zCfFJ^&!(;uO{6u7isiwfuB*S}01tMRd5872R)P8pDCtGO5g@Vlkzq2AHOW9knloqp z>roz~Vi5H8YG1WL>jU_h+r0!e#D(vS?;k&pHihy7r4j6@i5%y9W7=GPLgBkL+wKiU z6Z21dp9*Ub&O#^W-pP@%48u@bNT*gD1!vW2h114l;nA4Ur;`Vp)j-$~B$ssu6<2L( zsPZ3kjf{v8{z<;(WJY1rHdcT!$y~}?RCFwV^ZPwgX!20 zSq48{dU)|>=i?VwZ^ry_Ks6Xr2zPtGq@UdF_p&K4YsS{@nANom&rx!S?^%@e?Yl5) zz+ldKDO-eHX^xOrc2WCRT<p-mY$v zrB8;RS{b={8hky{ZgA9kQ&9aY?#mi6I&)*ozTq6u8Wy3 zHw*~v#){>$wC0StZGY$q!k!bdO#f_e*M~PXr*IU~1T;Xw9lZ)_cr!){yJRs*YT(2= z)vAPv$^*o#YQE)tbF<^2B!)K^7ndap4PKivT+m|@vfxN)^&qS-h3>DR=Azv^Hf`Rx zoGpVT%$ftu}KYPThlA257EFdWCEoH^$>elj1+@(lTBW6x98KhQ#@?GL`HLspz1{ zP$pcGn6{)})03RK*wOcA_Y3raut$kL7n7HlCueM4Z>nA{Z_`i!PG1t~P1+jn!iPip zl+}!HzdgX(uwsPPhcN>eL4^GV%rz_N;m^DCHVN(F;xe`NO|x;0$m}bt8#VVWHg3I~ zTi=K^YmqYU&GMF1CI0tc@0J4nPS%C}pt@!DnWm;&f6jM56s2BO+`V!8B6EIl&9++& zvp&8;zgDF``6XLVY{KzXXA`gcK-1=x7R+nHdSy8|QJ%bI3PF!X7PmaP-M`i9v-+x$ zqC$jY`g86N2rnI3NHelBnRmC1w5*=noA^3O|8)NN%-eI7sooR(8pg}o1^g;rpE+*U zG4HESAM5O|Fxe&RW+&hUI%DCB!XEFsKun~5e!8JKtjZ}|hFAleH}pE9vc0{1Fzn+; zlW-=0zO?o0M;G6xg@=ce9x%zK*#JU~1ZP}`s=xi_*U{^C;lQZ6Jrpdd=nF(TCWr&W zNu7MQO31{Lg}&J==}CWFx*wd*$$0gnOhF|y8*ni%86RN|3gr5IdOijiJXkt^)tgTu6 zHtDtW*p`Ym>pvpK`(`qbS<#RB`TEg4pf9Bj;r6AWJy}m7E{H2!e6{;dobLDlZ)%XB zLY}8kp|H=37yvAZZjo5)_<*(-BZ{cCv#a?(hUT7KEoz@EtaUl-`}*gDWbhKZqh|{e zGVWaQ|9E@u-m|C+-o8&SOZre1AEPZXXXN+s zsKGjkUks(bOFpFA*>^FuV2i8fPLab-A78GEjXmx!{Z?AEsN7~My{)}}?|@#(Q;8Qo z0(_~?l@Z<(ue5caMg~_@Ki|idSr9o?x{BOVzod^tM%<6($Hjd!d>O?tL_{UXaJUce z1Dh)k@bi(QWIHZG$?6YqN3`YF&PJ~xz6LW}Yp&ng0q;oYmw%X*RIJB~Fl;nBuvbO; z^A&1SovNbz{rxAqeT0Z#Ai*pE@u81bYBodd4{jh{x6=yy(M>DaZvVJ%SH}?XuxM#8 zZN45%#d)P17+t~S+qZ5tqURayoW{y>=!);gmy9l_m_rWFN!9RXOxXL>U-)2G^&Ge~ z_3hALr%~@7`iF8R=#$m8edu7`v%|V*mV4nGO5B>-yBqV^eri+uIXDV)TR&1>D#xcR z<>f18Lhegs{etF%03k=+I)_MHE$rLhb4Uyfp+s29KvAH@AZ{CDM-vWB611k=oFYfn)conjF#}kT z0%_NU;mmRy!6Xk*!)#!>k|J2d&a!cEcrmBR#Ri1M+%jYS>FztyF&LlQb6n6Yg}Ql! z!vBiWt-gILf_@UlB@Qbn+@uNo{T6dJV+dGV2Ezb1_B||D*WQ446N!lrQS|W4gX_+n ze1Q=zbxF+yZM=98W08U1SY4)81N&nM^`AUgV^USN6LegJ-=F)4CBYRHFDdRZb2i-Q zOiN{R7BjWoO;o`z2su+2Qk*xN=RWh{}c>G_lg zkKvKLh*h$Q2@TwEi9 zt2M*=ph>WFJa-#20Wlfj&1fW5X?bQfJL?=gGPIWTynP5#T9C1%kiaa6#?o$+!Ffj- zhSQ*jL+(d|+IH%9iAE2-pnML45O8s`$1mAm_+W4fh>o5zHY0oLnp*#M{9%rvs;CoF z1?`OO+sCS#d_H&&TpR}Fc$2Ju@53O?w1#Rnw9_38Rg&FWh(sIQ59r&ZPO0p5#6Wmx z{k)=rLOncFYK!ccVv}f1T)Lx;z`mUL|L!Y-F=LE}TUl{w!NWmcOJc~&bS-2@T8tm3 zzW&#mH9vJ-{!QDZwQ<5^Nj2A^#UyWX@5zsuKH?oZSFl18%{DPJR2j}PKD-Dq%7m5NbyjPaQPQ%L$61BLNr@&do zxu#?On1i-bB-a=c2I5o0o4p_i0?MhKFuh~Hok4O|97NCU3oRb9@K@i%IYR-#jM)!9 zRf|DvF}dcPZSX;KEBlDI&Mth(&gF^l#=rVfP~Ui_TPXw))yEB)ahi~sd*b!P@@Nfo z9#L+CJmEWhPNw2)>KaY}DKxRFMNtCXHa%(!JurZA6Up%GR<(Mh6-N5~xny+V{j!nP z?7q7nm)0f@b*F{t`TO3*^BNTiP#JK;tHZYJWmWnF~>y*?i&5B zmme3XCAc@<$ncw3?iR0<`556^u>_Sb0ibwan{rQ1Hul+fkdvu_xfM3ZhT+S$tF)t62G@5Y6tYG65d1nEDKI>A z=u(rIMCOHaP_!mRi2#;Lqp*&us;bd!m>zB0m_TV;D_^Hsg_zQr-e5hagNfhmG#5MPa8EfhbIIsd>dcTuv9hFvy*soq>fu^T%xyxt zZx3hO;k$oWs%l{3hMY!rVgA2%J^}+oWI7dM_2Ns^W>UVX<`?f z5_SK#ADLXQFe?Y z$5iYKmh8wXz_A{L;kl;16rJ6DYSA0oz&gIk+BS{ zL{OjSSdLKO6J}1QT6@%1ye{U+XOIPSwl!=T{_wq89{@kIbW~BpR=i3|I`p)Uq?KK86_j_ft;r zX`IJ84IezHnSJ^zQDuEVcs>TMK3jaNv}VPM72+Yq?^r{KF@ab#4oV#J!9w`aX{9NJ z%|h-!bl=Gr>I*0Gv2{#l@J7z%Rv~i$PhVJSFWHh5yC!>5=pH%fJ1W z44bXD``J1>n`LEw=H8eMWsf}c1==7vIFq2qrOThXtTzRCm9q+8YTn!oD~U#qh3a+l z3Z+|x#-?sI=@rB1N1+N2-X_83ytaHHt5s3vUK|s|s0?*6GtR zmjmQ8GY44j{JLMf-5r~e{U<{*1%c6t_}9FgoSY2|Q1EKdtTg~Lu~ARDS+{<}hN;1n zj0E?C;3!bm4D-ys#g$GHB-cgI!|Axx6J7288l@^bNLs=Gnwk|f<~4;GtJ35{d4tDP zlQyizg?%%i&~xy0Vpc(j8?cr(E-2E+JqJ?#O}xFmQ><+kxAeGB8p`3dGI4nKEYJd+ zzq1xJFNW=U(thGn-g@u9(-a_ygbCBf07c}YJ*PvPN)RkzuFD@>lwU+^oU6-l!5iAyEo^zM zb+j`ht15WR@Zaly-ex=-)OrZa1gM?V_^-c>W#pk}Z z`8d*(aD8Z2E${p5?Ovyf4w+rqD=mm1TmLvoxj_rMWjUWrb!m^==i6~xv!c(fiT*Ic z5nIURb-sT!%Swe$rGv3e@`G28of96YUt6`v#@oJVo>#3|(@YvTG(0cL^;r*E!ER21 zy`}o*WRZUBX8f+*y8$LSLzMCA0sFfP%`5+;XnyoXQanndYNW);DmzNK2G2bZErj{J2uF$=$2Y*!32_r7wU!$C&l_^FJk57Cr`?e$q z@krhXkLOh<21fg}q~8pJ#LkI-P-Rd`3jW0C z;tEUA;OX;lFhDU+ORwnnG7~~fLVjTaRKXa@^?&p%s}$5%xNqxP@-M2WK<>zqECOd^ zOz*Z8%jn&>ag@7|(cN=*3$u8NdHL&tjs(Z>MoVRGIqsudaRWC#HaR0ORCdC(cmm6R z8pQ4IG_y)f+a3&twCxmPetUgnOg}yGQkVx2*m~__XGQ)>*Nuw@C_ykqHKpDpLqyv7 z`;EZlRDJ=Nme2Nk99V8_UQQlPxYfzRP40^Z2IQGEM>Ya*8re~!O!w&OT1JX?t)L?m zv*@+B!*BL-T0*=@TNE(C9`v}7><~vb35Y5lDVEMRVe&PZXhWid#tqio?Ixneao!X3 z$d>?NLaWi|ZO>?lSQxGViGzQn%3f1cLqoQ~|8W9L=P8)Kn1OU0C;-|{t6{M8K`1~&Mc7@}N3?;76)aZkgW@xIy& z{Lzxo+9_9^tQz`OUtwK#Rd8Pr26;*8V|MRWGE;^Xjz3!Rp%iMVo&REvf8^$slv@>Y z)Z&eLh-Ol!J<)%9}ndRe>FHkpgYeJyA+GLUN}TU1gND455?IGXZZYUN#; zZck-9E^&khw|{(8QgTyN^>@Ee;et?Gz39{O=X8SK{=IHoa0nAXT)s^#Y=B zE4JDip%l|5h1TLF&@qqoS4%)0qv3rWhx-k=tb#|pnvj(UasHcxT+$xm{El`m0VEvd zS|J@2jpwwp67oWzsDJ;79{~ee3^pO7x9=qklmJ(dB@MJTuduLiQvoglYkX>6 zEHU_X;2pop!P&S=mo5n#Owh!|du1^n&o!}7=IpyC+oo>l=DjUv%`d)JP*YPAMN}(p zb_IV5osMUywrV00B*i-fnwDY%4Ca?fzW2_}HWJweqe-{GO5Rm}}W^ z6n$qR#nFaWwlCeickdzOHaxbvuxx#jB`#(&?UI__ZV~@{r$&Nrbe}kR2o79qI<5o7{t= zd%vxys2~^{wp@qW0=()(b5&xW`^4p^1Jv9i>DlCQFNQ3NL8zBzc0Kz*Wl$hoBz`>9^A*mA(Z&{2|Hk90J19eM&ldvjECcg6DR)^(VlEi-uvQ3kymTCw}8=T z*jUe3+iaVXGzTT~Q@R6?X0}Uy%Ws|+d#9qfh0Y7%skPoc^SO{CZ1|Ie=BgbUUzdfu zbTNjtPdts(t{k>)pMSGIvOTVJ)tpuNi|tmzB{u}+46@u4{=WlALG=*gJSyOPkB>|? z`}OOGSu41k72cC1hr0MP+k8z&hCG1%P{3%-3dd+<&$x|Oa61n+@=%=jIFp$_P#71- zDKq|R_sUg{kt*+7uwtW045YD3q@{TH6slmGLD;>(z&H#udUbUymbyNL;o~f|iZK?6 z2*S>Y7$s}g+>j7yb;-7i+f+SrE9lVO-K~a@Uw-U0TP(i?c<0=OP5L)OPznY=ZA&-# z`08#LD7UaaGD4pS>fF`06+w}bcu#rS5e^hu_Nuh~fEY_HNh z>sb{CWFl#lE&V0u8uRCmbHyEG8ni}sefOhT;2rsMxn!1n-rKh+-KDJ3*SjoTNd>Ii z_8tGieYbJ$d>Yd<6gxS2FC}^MjpYvc4S2D8M(x^Vn=vmZ!Drqkb3Hfa+F#g8^QdFm zEKqfdcTB9UPP5_pcn|dChsz7)a6Z8~T4}KOjS2GeN)R4Mm>Z3k>UZ@a+w1h2x8;t@ zzAeCYmofx&(#b(?#qkYCV3yA_D((foLHaa|^#b0?^-}Lq?hx-(e9_ zzU~R&`SKs1ZSl~bhAq4Z5AnP73uTpStmTHW(ScV#FEyZ^Fq!}T*F{gxJ$gB(6v5>U zB=a();=evDWWCh=y_{V9kK3#5l%tgzjgJ||daOBnt%o}}WnQQw$S>lg6PtYfz3uqm~ z)J1J(`+j4=z=^RD`Xr;PklS2`9QM-_b3pQyjXkG=3`I0j%ocZ~P#bD!u9pp?6KOfu z$}T)QedbK0q*OkydcrM~Gh9A+JQ7o5^XMdi6K7ES22w-9HeHnnGX&k}AvF9^(od#9 zULY5CJS041!(&76{$Vp&zy=hFnvnh(-zLCWcpA6+4|s`#G=}}6B_UTo&!!HtBDL*X zB^=^_wr^Wky%Y3{iE}l6-gYAncW{-fYxe`oe=uQKf!T8k;6Z|WDM&i;jc<1`+2O`% zIy6D2bFmAhISk!rM>_yns?pEKCH!+46Ci<<6;6l4y4`P=nT6B?2sbDZ(sNzaJ_6{l&Zf{`_rOGJ3JB^Gcdq zBebHA30c-$`o81FD;ZNCR<4O_+?3oef}h$ycNru*o%0CzJomVo+Qg&BD)Juovn`g^ zejZy~JGn+X=-Kt*$FcIu^lJUjXPSwpm9m|aPczSJzI`vJOVM$6@3k;ii$QpeZPuBW zZ?B(krY`u^J|w5<{;=)9o8Bo3;X#&)RsJkFo%EU?A>$ngXStn-$a<*fNSKO?4c<+E zAVTWBy)J-PDKg-!5{_djl!4q_{y3irP`%Th6G7uGn>KHTt2}VvKTmQHW@(IXS`*y3 zhynDu>1aaD+@oY#)QT^lf?t2_0xE$4!NK z4j|J3J$M0RurH~#=G_VWE_sE$n20DI;jrU288^}A6FAJy{T|x;twUPALPsKhQqd;@+~Q@AN7b-vuvXV+k6MS3X_rCDemE*bLP0Hw-GLQXfaN{o`N1~Dxhv@TLbHw-U zQ^hmR(*OM?P&*E{{s*fWI{cfchzd@mx^~~-rnDdVdUO<#!V_Lt<=~iNjVsO&N#hdI zRR9c=z|$)D16xblHt|g=L|c2s#pk0}`y;T5u23*7RcG-m=Cfp~IM#1SV?A*Mc(W!v z8kZ%+PrpHsCT=`I&Q>t_YpOmDg5w>PFw2N}xNi5+S6yAQ4GbzU$Ygk=_?BGks6pOa+MxL=Fe@SIlg-hAg@I z)6`LT+$ku@y<8mw4{omD_hA&*<7sE-w_#LU*EFrA7{_N#C@FFNufKFbkL9pxbxI_6 zA~E$~Y|WzJ;C$%&!gVg*fw-AlCvMD5WL&^T?lsvnEvKi#7*(bUo4K!@XiQNu7L&YY zX!~}{NT9^pkeV4!rO81qdw6B9^Sy>&kJ)X@wDk0FD0ZtEN{U{Z;gMSB zDDW2y@^LTL?#*F%ga5=Uy!raIYsomCsJhuz3x0n8O|hm_C6weg!HN0_5N;g;3hrRo zG|Rj^uh$fHwTwHj!T1l{{llAWRCzG~a>n53hofWqxEC{t zOK6ZGnlCNJ@Y@2B>MU7zpb5TII>H(H{G0F$bkKC4)!CyR+{}1pRLf3b3P`R9O|m|* zr=eqPJ_1ss_5|U)P!V%pF0L0l*(t;2eJ75hD)KzH3AZ;P+@;-Wg{BKju=~TTshNw! zc)^n}{NxlMnC$7H`_5cL`fw`Dj2$w;aNcY)JUNI6bKEh2#dvuud0w=!>q6ZDc|vAU zbmI)PzZPiZltW7Zln})@jvN`VR3ZjYTpOiWQ|wFa1^+lSaeNSFc1%FOrUimw_~8D; zDjsG^D!@yRYkfRM|Ln=$t>oY2vu68^2B{795A7zhtr`|DB`luR*Un&Pa%|AfMAffb z_tkYBC#Sn^wPPc~@je0VO3gmEjYK7{b=bCT`Vc7bgMxj2)j_Ydt2H{WjkROa;W3i& z8hFqVa^BqPXcm|59YI%(02k#-g+C4c=4)F|A31dbEh1c2vQ;+X?KxghC%N#Y4mBi# z(j!I-@gmOzMOegY5*{=aG_K!a!B=dm4e zI3|biw47h@ADca|s_ug9H3-A?2BHx3^Qb*_c&}RAA5CH~UXbqRu%k58I&P>XHby%( zZ%!n5aNcEp;mKGRWkWM%MtIWZm2s3hrgxyvhWWzQ2w%E8+5hb(0s4y zJX?)+oXkhpUmJr$zSei_cGgIMx5H%&eL98#9p%+PHO((9MLT57hvtqgqCjwS$+rVy zi+Deae}Lakq{%ZLWglJIStrr!1dLwm+dj3Wa}zDfLi+XS($=9|h7m0|i4dL#G)Bz} zz*LNsLd$3nd#R`T3Fy|y#<6sK1*R94i29g+9U+*AA*&nzW*~~)mrc!cd|cdde-1dp(9S+h7jf9-zWHKUwHXas;%RgtPC-i7?z{w;0nG#- zMYRy3(4XVL=1u~{)2D}-D|Vv$Q({JdAnxcjIR;YCR*#7s2#EtXNCZF#V(%2hyA-gA z1QEOZ)#(4!@yo8SdqtibU?(qK@AZI z;T%%jN)E3RKk!3H)8UBjpb40CVAA4}YkKt`C0=iAs#0GcfTg%e49qc1rfB|P^gnye z8bvI-xJ;yVPEVW<0Wu=eJ2*H-AGPMe&V2)mbMCzlW0k&Sm%i|5_ihO}Gz}us_9LYu zd*O>zhc9F7;3k9y=}{(~x*1FTi3frV<+BQk3jjz`uw7vv{x#)CwQ|LBk`Q4=#~7F{ zHDh)Y4woY^58MRU8tfAc7O_Ih8+*rifI)j|t@`Gz88hPrdKu;k6dHm#@1m|5m=r;==2JD+Et zwB2a4-*``UVpA@z#@)ep-Yo2%$d+L)+KySzWW85V&b044ru>%};G)fqTeos74H2Ny zVSWcGmDDk~E|QlX>M9fWQCtVMdgtLoBufPjAS+;1T$$o96nL)rKfS817N|1y&tu!z z7W?{5=hZ(3GR+IRWHEGe!Asywzbo0mkj~IzIts+22|WgAoPp6y$PWy0-t()LYS`AT zdw|o{YFma*4&M=UQ!e2F+X10uTXtX$$T|ID<@KHxBtszj)^DJ^6Z#rwtbHM1CQpRc zX<#@Agy5u}f4|d4(8MKuEnudHB|lL3nx!FzNMZg*l{X(g+#Ak-0oL5T6EI!sCNFp} z+eWYE!k^!SX|`UvZ(tw^rg+%~_cpa{KW;XUHtucBQZc)^&(_s54_9C~b3OwP5LzxM zM`5t79AEOEFgkpoTWnBvVR2DJ+8e=!*Q@i$Nn$h6h6C2NAl+AqHzc04*zQZXg&j_Z zm0@C0!Bix~*ufe6!#5)wHHPPM{&S8>bvLZk4fP3TB zCubIPXuK*aLuF1m-0qwE+SHXxjZI;2-aopjIq~XR-haMZ@AyLmxveVm^V#aBiaD&# zX^nX~s2}rH&%3wo{COTI5)wQ#bT(E>GG)HL82egET4izbw072u8Gotlid0=0vw^y> zJ6pEDIF&c*r2M)2xoMVmaX*L7(Wl!(Dyl`EBur)4UC`_r&hK*1E^TGqo)Z{OoZ%cA zi>w~`+axA{`76gVQl>JZUKj@+lwVUqF4QGdeNlu%(n6t4C$EK#o;%KjEUs&K8$#Iq?tQa2SgmW80O$wQJY2!7%TYe72PEix`h53Av~x zsuR=G=R0RW5 zaJ*;4d!QuDZBmfN7@9-3`aEI&C8)PyNp1fohhpzlt5#J_7Xxk{!UUaL2>kb4Yt)oI zWuq|P0-s0+L}u=$qJMMqh-RC4)tM{-*QHZwpH%!&X@cVW29Sk|KTPFdAw0GwZe!k# zFRj1#d2u>7LNq&L$5I-yec7XAQSpMAc_H{}Q*ffh)8ILHbh+Wcb>xKM5`^^#?sV>i zyRYhtD4JL{sNyK;6O99TUMMCOtZSFy1O&6@R<*!xOlHDdal5$i z#Hc7MH`6k=(OJ4<#@%*HOTQfuvAx?crX6~>?o85O2Fz{ZTmSh=rgt5$&zJ4cy58BR znO(tNGQ0G{;<;B6V_mP4UYjMEsv9dU-GAgeDwt6q%cflhr0TyX#U;1+**dbqQjTpp z*u6g9XVh+VE}kLe7B{#1=&^G@LSQQ(wT)$TM2M-=#GfZr#VB%J#`CygW$5Bcv`6(d z@^1F+?z&MSQOk~PdN@%VxiQG^^E|Jk)ZZalx~NsvFML>n{@L6BlQ3K!hxYY&_q$ZUE$2R4Di^x zhG&Kt;zf?bs+A#H=i0nYZS+t6 zsuKEn2+sYBirf>XvwN0o6?NlfFdl1AQnBH*LdKsdNIaoT5<@c+ZA|61f@UQMm_)|b zsRrf^0c!uz6$S6X<2b^#G=(CtC zM@Pp1Sl_U+7N5+`l7vI0D)3GsO4ffswjA$z%(JTvOYz1KA#`H5z-v~|LOHEs7(GMD zu$Y;7_V4dwRaOP7$(wJCV(rdi^=m+0$O~1+K{_ugi_U3i&+$1MBni z-*|Jfw_ee%SMj{1wwyj zIY+jHyB$F=C4Al|5@=dscv3vu9tRvJj(u#FpeYErPAznZ{ zst~A>f~kO4?Bt&d5mF`BPf3(3K!f703;|at`0?(L=v%wXBd0e8mT9oP(@=Q64@T? zkk0DN*fxOd-rOV&{@v)5%D^6lL02^@5n7!-@q7vb|CVAG^nXZ_I+a(-0ezY_3Mfg; z-B*4C4j>M7AsISDN;f5NGpPi+?AeO_B*abIzKVEOh>NG)~A~qak)gH3% z5Sof`9w+AKT+CNQ6=yA&JLXVcF-+p6eKUZWMh>Q+;~=qRVIRIi9>k3o)heav2xBN3 z&a65Cl@mo}ldj-w2jb!pt`KiiyA|gb4B)7Q5imH)Th#UPc*GShQ0tg?0Fk0iVxhA| zSyKgP;K!lGc}?q|qkd721m(}6tU>A zJ%n_&Nvz9jKCMX%fQ=?PWrPS7@taq?f?zl;*cl6L4ZwCdz4F+NYw$3o@Jzr08nI^E zfp?!)W9^?7QXcY*ceknoGs@Ob+l-wEL}luG9Kg;5o5jd$Fls|%JP_p#QE?L(T>i0W zO>9V+1J#q7o~h!kSgA#sGfab{Tq*y&WBl0f-mM7B@AsXP@sigZjIO`OGGsJI z?o;?+t286KC!q1+?{^NmCHk!y<4wFOqG)lpthjQ=M>{9cC!<~mC$qm3*b>L)^Lgz` z(#O}^-;mTEwsB&+-k!CaD3rj?s2=N8R~9(OVw7z3q*$Lkeps}%2sUrEfpeLnSh z-(%kYxmxt(&J9R_^Dw-*P~U*;WRh8mXG9}H0a5AkHq{HTVS$}(Jz;nTAQEz(DQXlk z&`BVQcL5`Hb#voAa6pFy^Z0V7z#$GoL%=kkEsy}VWMaS{;bUZ9_BkT${+<*EL<=MS>~sSx;Rw=a{2 zR2z2=dg=yoNT#hjlVRDBU}5?p&7XPoJ7>?yr{PcMthFTsLek=7yT)uyz!pf8Goc0cw8=Nip{XMBk7uMp=kIK6f?TmYad zRNOw^J(iVQi}rz@Xvz?&iZS_{x+W#X z>yZ*bkPFS4xqX18aTBRuy?#AWl2UE)0F%+q>)syv8EocnI52Emw}vMTjrUfk;Qvno zY)W$Zji|F2QTULYPl{@EbcF7bA-h8@5+8I3SG)$Qc|)WKm=;R(Ryg;r+>)gEn9|O- zEVa^x4X{OfI}W|UT``F62dz_9`)l02nh$?_AGN-Y7C`{v$!?GEh5&pA-73NpAIk8v zhCtkA>0g7YI2kWBkN~wpYdo}gM8Inz0XVdcxIKasM`tG>_&(20A5icovl-SK$SAVgkevnMRNm_HBcQ&i8XyE>O}PCP zJW`5-sb+kJ1*{1d{dVE~aB7oe7RulEev8>u@G)olU%!4VZ+aGXND8{cI{>7FfLGA4 zHf?-3yLhZkplJPiXG!-59Idq`Vk6L5n9e&pqPLsHfqExF*Y+@x{H~08NAz~6Qv%hF z$jnZl%-rj*UzE&9{Bvu(gU`$io9)|8v2tZ{7EOhF<;s7nHt`wMENP5&ykB^J^>3d~ z*RaMGzK-RW&ic)B^Q2}LS8M;?m7i9>x%o98M0L%bt3n#$;&e0y9yAm>w`Y1YXFcsL zramQ94!7T4OgR{T-%Q=sEqc7yF}%snMd}6D3)6k3n>=`UZr{8W(Y7v#UDtXORhYBJ z*s&2vDZEMG#wdFT5i4W&HM~Q3_U_-8bG!kIsEK8I{D$@^ z7cYK=JQ>dRcpsEXT(%)LdPUwWFWUR58#RG$R7b!tFb?}rDa`>FKxmXBg5e=*tF{`5 znLPhq7ie`_utod}21A?5G>(<9r>z+#3)+dQD`Qiu*A$eF3S@ z6qqX7@*-}G1$MmXe+HxK<L$KX$X5;#DK>WaYEvIy7=*H zu`VbX&=K8A&=&c_8;2EwB=E&kH`OWJD-Uab9e@W&ia(#|$!>y+2F2_g!ug>6K3o{@ zQ{Tm89Q2&)$2Z~&N>*$D$1m!q%&Lsj1q4)j zuwLCFgb{FfPvvJ$OMC||Jmv1_SHw&!14Wsb(E}(*vw_(_&;W{qlj7zbFu^Wjs=XE{ zh`CV{fJuImlj>ZNUpg`o;7oEl9yR~oD<}$YX*~5K+#O@~|Lj+ftIR~2Xxg6D`{ue) z^RxK7fr5If>9?*Md5D*}r1QnzE(>aYc(coxUtL^H<5P8a zazvZiLhaUv=yhzc6!GU~Kw8cSt;1qeeZ&VeBOW9$B4Wz>3dCB5_P)vmGLR7`rH0k}wV`$m+)C17qub!7otU0X|kRT*iF3*Td6q z!&Ugly502x7b|=LzYfqPh`~bG*$|2dLQtr@fW^j?ra?P5W z#wpfDteR|Ko})U<4oqa^|< zLIsnnQ}J6-fDC(ZdwdVXr=+o__P*%jCkSP54ia&Jwwsm>9|!6N$_hU(5#lSPr>H{B z%fN3>E1<)fpU215kT=^HBe#muVZe}5nhy+5*&0@x(R08S(V3HwA>soZ?b-c~w`hTuE7z*gO(LfnCla0iK zZhl=*XJ78EUh66obkEf@SvKgb6Gm2J-b!VDDyoR?5|d5{Z$S74a! zS^>mbWRz-^!QA#C^iL7YbsO{-j4}#&SfJn24_6&0YH&{v$=8uJ{3=8O0fAOPkQrp; z=kde5aD)y9V_X+UKz7#O3^u^KY}YA&-Yq~Kl^Fk=+PiW2B!mwHx}S>?75ycllKB4e&1M8X=fYNQu1PL<1W@vaD4A z9JxRRACa=EaA{SX00vo53H2;CVD5-C>pk=Pz@UKvd<~?#Keg4zyfmo?wTUfK!RiMOxHyL`gMkyHMW1 zj7MX?2*5swy(7>`>181Gjz^@#ksyc2LHhWVRRDzf*-Uc*h6EDT^;}h9psd|0)&rp< z!no2R^ftN>HFBWu=t3`{X~PZ52?fY9xuI^XAcz7FNDUaJ>I1MEx#mpZ<@4M+Rt2Q1 zL*yV6(r!8j2e)1$KLEZK5&}iKVfOoNR=30>C^eewgPuUPTV%hYg;=gZd0T||MWP1}DZ&MZ-Er$+xd4&l zflDd@csFCo!iZxQC>cO+gQxCA!D)0XllAZQNXGB!o{f-T0oO%%+38b|g%uraI%|=! zHw;f4)IfQD8+foFTKy8yU(!HL0Br~(E$g+xWL*DNw{}sz1f@ZSVjoeUUx!h#Jary!+ETF{9B?N9-=q|{tjr-&B3>sj1Qcp^4|u&WjQL@e z0_u8X>K{O(us}6KN?W$xOY4#)@UNjM`)=ayrY8DX}m zEq;oeY`)3d2Mrjjc{dl|mgGm*Ap~*=qsiU%pn-zV!TF`MyZ#`$$)Ic^cJ>t74q_|{ z7BbTxrud86e!}EKuu;h!QncEmdV{=qm<$+zCOcwKia0{RhEaqQ0nAU`{!(9$L=K2nkuV^?!Zjc+C56yR5HB0VK?Fh?BOnjZt&_cbR|SH)Dj;(Z zXtj`g5mZ+>RG-c)f-VJ;6C$}h^b5M6%ZOZZNQ8pm1ouub42A-dfDf1uzyxVJW!4B* z1JzABG+P9OrXb-1mLDF_>rsFybs|Y81qCZW8Ib*_0hb!VUy$SqlJVK*1CD5Fkg`PX zBKYrH5Y-oeO$atmRoZUL0Ly@ACtxA6aI+x;R7j?W0M}*J*zLH;xrH0+9x{Ijx{C;1 z4hV>d3M0f_mN3HLJL$3%rw4h=-kWszv^ymls2IhN#SdNYG! zg@m0ZuKjqj)SjuF!XJYlOZEg3tKFuY?Uw^fpFUrL;f%{LBa~)WvUxGKr)cF0s^%M%-XIgHK7fz&qZCJ3U2Uc6K%y zMq7|7@awDcj&&P^B>SIV({w$Lyq4+*vPsG77!D8bnhiATfjm{}L*-jeE@fBAF`vqi zwp%JR@RJjS<3F;+C-}h<2cIxQ@*|0)6nks$n&rawZnp_eVS$6-8`X+trp)XXN)EAO zf^%9ZA_}7HcejdqpPQds#%0sSa-~JxpGsp*u@`@c(eXbE8EpXU9I1L12SM@{M|SEN zOui%B2XL@eB1c9&AZvN3z=&oF`ELNy;B^TIyvpg>{Yxb0KR=6oS6NI=t8s!dUqE1q z3`+2<$$q$m-Q)XCu1A`Rb|&Pa3si3d+U9sNVA22;Z<`nQ?Rr;FoR)8?g`K@*@SR|6DfmbJ@M;hpT4& zjRW(<_A@i4N)0^6`#YOd0_7={)v-z{F(c<18>03Zu2GM$K2}CvMhLN?Ek61Iy7|;w z|8zo~wt0F_Ss4h3RRL_e%;6`ASU<;FpZdGcG=!zJJ7&1l->A=MsH7Nnv#O~2{&1*3 zq}x!0E~1qJ-XV6!v)`*3Z9p`W7wutC4~bkayNMscFbo6~#dJexPmqW_D}`(WTNZti z67fQYHpz!Y4LE3sRiu;SXid#B`tM)$_xA_xV}j@;dXnDt1{tb_SFV-GG_t)#Bs@$dN;7IN8UFC)4n7sYZXfN5- z)*qD)>zC2F4`dOFkDUyI%wkP$O@FkmVTYq8$DlUJ3RBr0elUMrXqOdsUBR{AYuQbM zektHWY<+n!EYKat^_2r`)M1iAI4J}P!Ejn|WYI-~5q%^WsA1yYJ2^2J1xrkb;7Gap zyy^FE`u%-cl6>T6OAqH12aEdjDr=G1Y)Z#1=FEhO7V~z8`o0ux3iPw@{R1$j>1*`% zQ3&xz2O5A65z2g_a zlJ8J?cj-HA)xwQ3ry0eM?Mx4?H@O6Y_5T{+LRK;0v;(e_uETFF_<*- z6Cup9IXLX9H0S|!{Rr?JjHJ^yp*;XyM!vp01e%3<7lZb{nc8oo&@mzjx<@y?ZBv#a=&HFr9Pk<1emDbmIHx9(a@D>4sc3nt>FjmaWwwYh zSNu_{G@%Rq@aaDO=cfaVD-)537ubO;w8f~|DYnt%K2mm*L*~-JZr7KRm)isF*86s9m^iE9 z>bLjkwa?~H1)963wq^48dI#PV@b&#k)RlZaN+nH{HX)((&5yA)leN4Df6WAM?7y0D z`MjL;Vuh%QI`>VVuctpAuq*QSf-8`shPL64(N$ zL4I6)+voRw{QZ5DZMbkNJSR|wJ&!OUVN^9IprqUmTV-zN6r+;&B7N`}reZSfZ2)|2XY&FM^ayBMolF*wc@NMy42veHlJ@%FyY$c@D+ zi?ty^wPaN;xm#yttLZ{EN)F|#AC?o7H_?_}{ijgk8-TO64aic8zz&!WGeS*>L2E6H zOzI*{(8WOjw6>w9APqfVS`!WS?oh-kKYMmKW(Z>?z3}0Tb?AS8px@tztT~xwm6Lw~*&drhdPaAaV&L~XmgXN*e5)ht`i+2k%o z6`|Zxo?GP+-SzH1m&Q_Zw*$>ilFH>H)H8loy9CUn?Is^m%s<&4Hg!oc9WA#C@D5{0 z8cmFFN))oBn{oL`y{ArMU`rGJiSvJ!wHtx7(|Dg8pXi-+c5zvPk#vav=KIjv2Iu2# zIB*lfJWwb@4_gK4azAhK7+rxz9!!wQZ1W)_FpD4z!hVzB_vicjyGN_EZ2o-Xy5q_i zWrpy%?}fXfne89$htl+AOl2ASA7RUzpmy6&X%#YeFW6+LY^m(ZKVKYX7kwz_BH$|W z^cFvnn|zjWVRuogxulfhdhPdNE~AiU^f1sMYmxS?PA6q5ZwkiGxWy`%=9o7)u2OPD zK^!M!r&r)Smie-P%V6)kRDHgtKCh`71;b!lV(l;+LvFuD0(BYwUt<%f zEO^h!h(h%SD>+E(a>l`_rHk*{U8wkpFm@fTZ_SEd6_7tf_!g-D zwP^#y2$9lE79a%cQmA|TH1li{LA+TC($G#sU<;5N82dMY&IU{uBj{Jxx`)mb>=_tU z4g*Y-RtCYY5W{rHxk;k2fB*G=e;3tikCy8M6*8@Y>#~CO4fO0?#Y@bDrfr_|ILlE3 zANTS>V(T8jDj5)26l^@<`z=pPCBfMCy)n<~!S<(SISQ3YR zCXib&QmTx@eN_j=R{vLh+4Ey8GUZoMqC|Ca{Ld^`3|!WZpX}D=GY%fBM~qf+RvM2* z*ew>s1qQP;1q6hDL<`wcrbw%-kg1+=W=h=~5Xwn>{?|YovTW=30Mw>|`*Jzd#AAlg z=|g595o8|_0Bz{o_CpDv3jN*szb$rQ48SNa@whh=ra74S_y&jEUy(gREN{U|0y<`C zP)E}KF#Nuhf=mCpvrN$+pA0D6nb*~?eG;w0? z+nK&1WDD$V>cP|;e^jqEz@{6TxEgb2MXORHF}I@J{=7n9`>Ax*x+o>)S~P_ICtOez z;6)B+a}qTZDQaQ8Mm-S*|F#q?@)7T2|z{7D5vtv`Jsu!x7<%WnAhuS095g z{PBVdj-Q!a5(!Q|C)+oAZ-aG69%!baO>K`&=+yrf2t*zje=A&T%3-X>>M+-U$oL#V zl7Dqo831XpVfi|~Zk>fV%fYQk0^`MqD=YN>5x@rExLzoo{R7TTYaoMqP=2k6Wd9QN zh2JoT{p58YwxJu+d++YTa9$bd5Mr(9@A^ zjiAMv;1=o26O(7s9c3yj%Xm!xb09`OYpZbA;Ei&AQiF0g?{g*8rI1Qr zE=ZFuK$=7n*%bD>I06aWi+Dg*fYkb-3nlc8ps9oclDECI-3dJ?GC>bIUW}9D`(7wQ+@fu6C=bkF+A62mpIRJe7xgFI zZyt-um#8%fS`S*hS@Cj5Zw%_i-_?}tCq@9`88G$T7iNc_2P@rLAgkPut9wMWRg?YQ ziIp*RVPJ!yi?Ob#!IDBbD#8Mvf@t-J&Q*4~eIZe^@20_zJ`H27{)`$GdWO?Bz38}0 z`TIrkOGB>=a`ybH4n!0Rirt~>T}KTtRRORw;?seQtH^Z2jSLnZrcXJp&4F2qFC@Z9 z4+mhESO2QAYDM#`evK5p^wLuc+fUg(WEv>4OF5DwI?1y}g&Oh{7r{2a@wOXlU zsq6G6V0vTJ{~v|V$Lb(-S5{HM#K6GN;(`rmGF#PFFuC$rEPxB?kf|W!FEHH|7JB1S z&HK|F2*BJ2cn8dvJ0v9hevZGt? zv52e(ik5b(!|O&`5V_ zu9)fxr^1((R)%*#C_d4fb2nO$LQ7^{X8dA@!rCYC8H=B{J+)z9`@5D4w?5vgT3}b+YSTo@%_3+T( z#OHn(W((^{kWs~{$Ms|DBnU_>fnXpw1H@)|-x878J^aYTP5$9ihkCje_mlFuIm!hGO@*bxPH= zGwR!7qw&b*CC>XK-8UKk<^=2ac;umWNhiz87m3K>SKJM2EG@_)zeT>3r`OFqipy!8 zEsXVY!;{lkFgOBB3pXTYik#9{}`;A&o zV7G6PqOY$kyMR*hkrlnXdNy6U3GO8bqm7@ES7MT_mVh%U2D97yStn1-bj!;i<|$1F zt>JGEsPkkAPrv$JzwuC*Ahd&7#`oTvKI$5g`1%Gy!Drbli=}cCXJvKiLS96=T|eYo(g-;46Nkgvfk;3RO{oJZ1puEF^HFN zAso*?VEQQ&5ZK>J)R3Rtdr5@zPJ&R(=KVe6wk6^FE6pXGTwWQnzU7&uOfIqv#lk5u z<(jvBnm$~Vr|rvHNkCNN-RxZu1>3s0q4-SA$RMfaDPyGvE8(Fj?M#wV&D{S0D*s+o z?KJ?A-O2q2JlndoYG}18cIz1#n&ws7i!9XNz*{9CHsKM#@*p#+8^T!>t|@`6-gEY5 zQzGyW)3lSo5~5xOcGoW&$mp>=KVu zhSZ!WvY)QI)ofLiAC5|_H?2!bbzMTaE7X`By$Sdh3~2J_;x{UH=2!2c9GH98>-|Lb z>bB;S+sg@DTD}!LR_vr{Yo{jQj+)l~hKtU9q(m3eG_O&H^`{fZrvasB));Y?>QX|X zsd=Hn6tkq1H3Mj^!6vMw^U9`FIv83Zh#|JH#lN?5Q#G*vS?@eCE7Rf+USAObVHoef zl(p=^mDZP`a%aX|IL$|pPT<))Zl}B5twKts1u`N@f@z`|3!s(f9}u?m$A=RGET9;^ zusGPqg=VgyI~3j_ue0lIvqtc!(V24%729#x!W;n|+M6huQxo5oj9`cOrEn^YmC-?cU zPhz$|K8gPvoY;n8%jPVz&nlX}pdb9`hZxpsuDIoDz)8VG&Yw2T)!_g#;VUyThp&eGXHzIElc~pyRvN%_cJL;b?9I^xRuqP1LFBF9dVmMm_S_JU#05 z#}$RNqoiR)L4e~Zc?H&!lHZWpT<2N%I4qK`Jp#@jXgZxSrGkj6Ou(3su`Ry8KGE^`x^<~W*ISd)FP^xB4 z(_Xq1(v^o+8u$JSvE6=I$VDANkif#p;nayO+!Lp}5~#l5BeLg5b#ln1?Lv0J4iJ{4 zN$UNzaQ2!g8O{xjUTU3keXG&OY%)EklL$Z1MI8AumM%eNM_@N93TOFWeUX2*+5(@$ z_1hrPY`zysZ!tkY?RTc-y*2d{wh*)aAN^uQ&$bjSp1@KQCSRyfp2}rq=T~%{-R&yA zF!ClK{`#ehUE$<4iMH%#F!j9%ioZ2IUI{W_UvM;eC`c=-mvje+=DMFBci(qnUUZT2 zwXNN(s*%|jQAl6Y4~}whLwC@m4y@(ap?t-)zWCp%@;@u|I0*?g>RLU@Lm(J)9`U6w zX=foN=Sz}vPQ530tH||K5!2; zd@l9TfGBtB5;ZR`U;4#kFqLL%aT8pAbK>#TM52 zuFtYqA+5Wr3u&oo9+4W;;qJgn@kHJdwB$1JpNZ3v#+G9oyvL6;=n5UoY)dzJXFMD9 zV(jk5`Sf(8Hds~XGLO1G@~1O8c>+W3MW)|UDCb7m;bq*6N+R?>>Mbyj8!p)iuZfN7 z3PPK{b0Ltqx2Gi*!aa;!qyc*;JT@g3QY|fmFPdXIo8B~jsGS0hM8l6D`q}y>uUg5( zmy1or#>T8%?iPlu6RZe3J7W?WPCMgt%kP0=BVdrXq9z*Bi^Ng?o!JLo$Iw)DCOv~)$q|l!u_9L5G zMv7xTE#@Uh-O6bSv%W<4=t9OfOX!&;v|>$0xbF!inm!MXZKBDEzefO#qEVqU1#by= zzA#<=XBGeb({WN$UG>H~4+BrT0gRkv9D1ZU+u^9}wm)ao9Icz@Lt8!LlC!J|sT?BW zXA%(XBx?p`IM&Vu9xf^Qr!Fn@w4*`~28083a|{MxSqywO^?t$AmK>(CaS~@%r4K?l zbVtVI_B-`9xFV)e`BhlOQEa@ICYY073;!uCt*!a#Sdj*6gAg%1PcN@nnOcDyy$;sr z=}Jv4$ik=_o=~VG$wb)Yhb94c++G)2b_#?wDu3=IICEd#YX3*(}$w)atgE_(imwj|u-k&J z(2N2*mM74*as1bvl;=!9Nw83K_^3!A$( zY3_X~_`SBicP))wzIetUAxl~r>??us9<;Co%p&r)|FTa0`#sl|4Hy3C@ssq*<-DaA z0$U&CnxC7E58kJs2xU2aQ&QvZ`{8!8j0+B|#F2F!b@!RhWvck!;YQY)_+_HYU$yF? zOn^<}al;*Qy-JOQ$Z%*rsz3{tpgc3gNTz*@qQ2EVoNcF?T0(>7k__d69IEQXO}=fj zleBrWbBQCuF~E)+ITYPoc8e;=SSeH!|Hs!&@w|A7bhRNlNV9nbWQ!f0B74)zVxcRi zFrs!0))brqcpe8jws#5zjz(obQjDF;D`iMoZl6W*<#!xp#el@Tws@u_;~>v(bV90# zPC$t2yzX+M?Vmm#OcNVyLD2gw5~<>oTp7!wwoq{rb<~MXr}~No^CcNLbmb>xi-?hG?zKFqD$-Q58{U4rn)90D=n`8v%^J8-K>9?CfxV4 znu|H$sNgz1%{P!|vmHEc5MvU2yyl*v*tfKLaxrz|RWNnOQu{cj=5WRbFPV`S%p2Sh zG`#l-OgOdOW}Jta7|A^T5Pdy*qJ?AQ{IwI1PG7a~1~K^!F$gr~-Qgg8tserDI7KGk zGhoN|6^GTl*ieL6T$HGxwDmK%p=f{043=rseSgeNX+Rc*(-x%s1vU0@L{Qgy{tYB^ zWaTw9PEL_qqE0y~4I8~Kaxy`41g_7F-|cL1M;L8jt336p-(c+@y~yxQ`meVPU0E3Q z7VH^7ByM0l)L!)eN>tunp{3C%baE-|xA5)vWa$!c5m5|QsqzhP0nPaIZ&`=8jbD$+ z@(9RAHivJkED^ey^>piPFZ~3&Xd_!1H0goTqA9L}&c_LcCbC`(BnpNea7n+K9waR< zOO6cxjwHvN<^>x_#h^xQn!{0AWxYoxzD1?^)K?Ks100YG3a7VxB`>4&Ek% zcr-$k-4_7c$)$gd@%_DVMYG>UKkjN5&I54!PK%nvqP=6YusLX`4P=cpVKqPEx%Sbb z)i~r%0EA0knk485`)t}C( zZZs*9WU@TaRMzYUsF9W~#J9?1Oa*Ay+usO1c;ySx!7y72T)d8T&{^4w0Yhl%u z?|o5^8(Bkh=Y~A35pWj;Q8kWv5{57&DJRqKLbLL@r6-Z@5-?!AYle%rl!HD~v|q(W zyO{fJ83RX`3we_H{UONH1ebSq1Gdbr7~v;^5Bt|Uo8=>v6U_FJyNN>+AAErv5NKRdG8On9ldb*)1}lH>g{dBg1VaK!_M@7&3qPCAqH2N?@1Ub9uu>q=t{`H2$29fv zV%8a0?R`7*y~fAMm$5}xtymAEhdV5DK%-O4rVyyIHqPxq6;bB5I!dwRtY27WFQkN) z-b`tg%h%xQ*sKh8&1oi6{-STgsQM$gB-|qDt4Pu?L+YM-d6AVy`qZhuSjB3(*e0WR zGX9kBivLIWhd+Ls40So;VF2z2T7c6ADKgl{=DDiBakd2klLCgACvOZnRKDF>Bi0Sf?br15{MZx<@U=7 zJ(+v@r?UlGmG`@LP}aBoEC{X1#u87&w@3E&Fm;PdojU7m_Xv z1e{7&3_}*I4ecF)lTpovx&YG1ggXl8S!B6N&vmnp4!_G9w6m&C$HwwM?B97+BS-W^ z>$o~bXEHaQq?+!;;>yF|qu3i6>TS`6aQ>vrC(9##F?X&518#zf7lnlMhKz* z-J1>J3yQC(VhJXJuip#zM(n@xS*Y0;nl9v+-Wn}7wfOj;02zpZA!g6+*=#;xzGpar6SNjSw1%X!XJU1~QQwLk3+$dEL{*3pF`hc+E%2r6Xa} zHa{^dIbSAk zJtI!QHmk3Jp$&@-*IzfNuC!bn6%iE{IG6rSOoStfLHq2}lUxmElIq8$?_xBJO#+^c z?-e>vnuWD%55sZuq2*WP?cY+Dt+bf=tVsYx#%54=z?ZFoFTKa&vm=)pH)XF>v~foy zriWFn6jNHW{vjE>MpQuyCXj~UYXx%?_|;W>ZBc{Z~kGeqTa&=VCk-n)CQnwRTkU`60N;rzROFEXx1Qm0^^ z9I4XkOw4p%6~tq9hRF=my!=iU3B|Ur^c@>c98#fqEz5ud&#cWEhgZEV_*3jEleW&6 zI5>IJGwiRZRl%U;b+LhzyeU0ep>lq~R7u+A7OLt4GI-cqoK!H4*NQte%*|0Jt@uRL@bIr) zmEd-|eTp=t*@*oSlN6ALhRP|*&iw(td@F{kj85J2qvmqAdL{n>a3uM6sOrc>8zMYa zjlwmB_ z$Tjc_UKD}$rp+D&aZDC7ce+xgcg>&P6@O#Q?|X)-(8eLN%WBzpshv2S4LD?nD_dDT z2ptwk=T{>QL5ABo`;(2Qaih;?hnlpX8QLq=Pkig+a}1L18_>A)T7B*RsWm%7Fk_c3 z_HH*-v9IN#%v;hwp&qQPAkx3B9nbCFMGlReteH zgp{Faa^@=A)}q&@RsIl%JTCA9mbOVGWdi#4;AU!KOO}FJ6_FW|as`rN*HoZzCyn5ALf|z6HIytZq9lt71MsD?Wt_4YAxHpcUQPiFw8>k^ z%OB$J+q)TvkH_XF-%Gyl3WyDwB z-zhS6-DV8spE~&yTu!!Z@0gF63m)GxEIR4nBmc=M&-*#pKVZiCm^H2tR6LRGPT||WmncZL(lSgz4i@#ygHt4kN=;AUE zR*}(WN#}~?F5kStn7>CqqggFFJ0HKmnxPmrfG7R8X!8HMrpDwY-rz!Oi%_1&KK=dV z?7nX}vf~(2M#`x@p=Nw~>XBuv;#{mC6AwdwE;d~RS4G3}Ny9kGOCqfL30jSp1cJ-@Y@1O(+>~J!R)U2|`xCd76)UU3x=GLkuilZ|uMDHDayI)LMs~ z6RO>5VpHVO8M2FY(FbudX>$!ax-S}u zOFZ7*)h>!Miu1V@XQ=R~ZHF70cbK~B%Dm)V8Z)}7jxO7{_{y3~)8H-NL!YHVGc{Y3 zLvdUXk-C$hnOmNBmTFqaA$9fh2viD|eIg6kpmCAHS1ewH^HKm&0{5g{lF0 zB&zr9I&l{`kze)K*UXt%5!cT^N}pU>@&mHrbpZhqQ&ZF2qN3MTRl?EH(Ve;aVnF^Q z2AQdDy9#lED|mP>K-OmpCgMunjs$d2C@atgMU_a1C#nJg3*@9RKuIQkNo`BZ(UA`< z7ySesRwqG{?mQOOox69jfrbSGhtGki7YE8esi+DbAYH!#5)qJ8?+jQlF>`YhfY4Gc zEGZYHsRoCJ7RqUhG)tdeM>rA|Bk<>)FxrqbfbUm7SY~qru?iywA&$Z8e}AI?{5HeA zR@ZGcX+pL`?o&77;2bR)D%G2=@3|V2)m4;$<14^{;pHu@=S^#XEh0e7D`vS^7>ndx|36KNd<~SJJt=uG?aamYcD79N6l#dnh2L+@l zpui4&eeE`J8Fz*VSe)-~>Ys*5upb*Ua-qNxvoHr4`|qGl_G5kh6R^B4!wYC^lm`7( zF=oQL(NQvRpad>9J}@TUz+adE)4udTMHqHgP&GED17Xt_Ae_)BR0C{!sb|lGU?TG= z2w`PvI$}Tt{jrZSQ-E5yen)11doO;AYJJ~;GgenP{3uAcrMtAIS zXF&!|^E;j{J3(>rP`|6;#t$Y6Tm@D>qW0_ud!4T2yi`?Es@10v8cFS~X28QdmOWdX zlv>8XeTA0j)%G^+&Ewvi1M6n0_x85M_-{G}{W?>L<<8rTAU~E}6T$ zVG{Th_^c>^pcRg7YAlRu`GL@ESpRz=Ck|xLIyqqa0uGJ@%+7NcS65UBf*~-ae^$-~ z7$d3&i-@Nn+o)4vj|05Ua!Vg?={ZoGc?F}k-@q6e%>$Hc(`X;CF)(0)lfz)4=@kkg z$7?pLCApsgE7GZPBPZo`JDRcpN+7}-K@{a~^75*e-FO%y>_P}aQSG?h2mWDU1fcPW zAtojU+S{0L=7zprxpE~BbP>QNfb=B>&SymKk>krvVPSG0Al89N5A2!vC3`L^T3U1v zu99+gE*~BM#b*KJ8Lh1a0)5v2_^M!1#QNsV&qwP2{W__r;tv-;JmGND`=L2tF>Sho zj@^}&!0lWy6lZ^r)AJfG?m}MMCElqVZTE#jFM;~SNzt4$H+i`FO(~sJC7;p9XTMP} zn@G8e=lJE!6OO*o(8#NrAsPp@85d^ zi9GF-2AGw2W@In{VK5MQcXiFpvMn(X4Ete-?k0@;CnhD$5Szn`!?;B826*!cpy6=Y zN8It`Shzj*Rv-vyAOT3z2I$OwAbMv2DvR^L!sWSjHfHZ|j}tToRJ9D@0RSx>1DsT| zlCzCkT3c1h9)XL>UVL6r(QT?A=)27!v#?Vc+-dyS&RL6hCGOaA)y9B@(VD)VAd(U41|FC55g`Az*+R~ zrTO=(rW!L->9{k%GA)x#M^$KH>Z5B}Y%=r(kB$yon}({}A$%P5d0sgI?i{Cs4ZglL z{LH)Wug78g@LdTaIwu-UlF;cEfrr_D;|x=R`A@QM|Xs#rLE@^Tehqu5W1QDyZgyxktLw`ge4+I0#4rtFOGJdBKg*>R`tL!W}hS zO(3!3xHXT9yaX^nL6w|CyUEEZ1_EX`frVdMUcOjPPDSM(CG5fj+aTPqqO6P`#<9JD zx+yot3+DlO^rK}q1s1$KJYTyKq`JU;tY|mmNj3VR=j+#>CMGE1cYOv`9BZ7s(E9Ol z3Q&Kb2W?VMfwoocYgVG7Xu8$UFyU3|R662XJ-Kz7=Hz!`k}=Ej6vr*Z<~d!UM3|Y zdjm_Ig0(N2aC!lw))2NTy^h8{`CKn84b52~?R&ILM%2{(k@oC-?Et=u5dzz%{b zWPInK#( zI`Y`W$C5m&>!UxxV+*5mRJgc7$ByfJ=p>e=-fU@lw*6w){qB@M!4Z%DX;OlU zN-5)TM=Xr!4Ib_cSa4$iwYm;i=ym|?gTVPGplNr4D+8+Jj(8$2lUk++$i)S$fK_)X zs3A0*%~gjeKrfp;1jgkbM_gG!g(iy*j* zi+{HX7TlZz$EyV$n)z`6RT=}D8q5e*(DtnM`s2xo||_=sy1nGql=2xcun!X+Sh4Hq?dNKOLJ63LYywIW!}f>^ClVC+BXflU=(ISEI~1WqCchxItC zF^IhIzrdeafE?%|rAV|zR8*99fW?GgZ?6h+_40xE)13nl(;`C1stW3#$@s0$g4S^8 z)#}vN0cqXcg`OLQmSbA0WoKU!`Ox12V@4_9#DjuVWRV4ES80F}vh0$G+aYmwb~Xt7 zDilfFCL<>Y`4}9~a=N`@?&al`06fbw3_LAO&2J!Rl?t-acg$sJ@N5@*F=0!zvl~Bn z-~oc&ac~F7?q*6;g7N?ozieEy)ZSH6R1T)xr(6aHg;_E?47SsvN=kT$k~zz?EvRa} zzvW&%Y&I`g9U%WZIsNDR#7oqH0lU6)DZE}%Iy$ODjR~?9ZOxB{g64dL9Nl(u;^K*k zp>OaDM~CoA#GWi=p2HRA`|frY#pKWj$2W$Ln~-v+U)=bPcibMk0cJ8S+FUo+==*dU zs`m#+*qb*DuLYmKHDNN^d0NULyz_yfleSxnx6-TU*`(KyofcmyLxcAXc+7-C6N7`q zK#QpZ#ZS-hmETb^2dYac1)lfgiA>134`15@TV`# zL5Khw^4l-)&cpUPA-2jx?tsu8&FACc|Lu0Pt^RsIr`(nS8>e7GconJ^xIcorU1uLA zCnqDP1}RoL-5~AO$T#xwEXVuW)`kOo$WZ>{s@JTiMM0$;ag0Ni+!jx?1DicjV6f!B zW(@#ipqb8kNcuj4qL9`F)Y)oJ>S73}h_efdmz^CKX0hA3ZE?}mz`XS7Jk^iwT_b1% z@(IjV+I-Mp{tE2G#4Z~aAMqC;76(F#Bu^b2)cI`Lb4EZ?VYE}?9*BX|f-nng{+F2+ zaBcl$?Wp-z820wwD3IJ{u^oHSPQYs9Eh79l*Ww;~K~(!&>(j+)&RX)CNT&n;(#QxPU+KAhyZ`w5!^&wppS;ZimO;X zxw68ty?PB~sGdVI{Mq~+D~bdWoyj|b1P3c8Opo~LRsFy3usa73)^HGiU^r%tSQF7e zh9MN}VgqBw+fXXnj$z;i^#f%U3*@kGKYskUzZfzY14xz_v!a57UqCwW9pWbcSIB3( zKyNM+RY3?B_j$bI9^^5cHZ)+sksHBdR`#$ zpbxp@d~aIF@X|sQ#Gs_ljeYga%~)^|H0_i(AYydGSN^js{rl%M^$4Y}PnjR5F7Xt8 ztwl?neeC=3XeHNDQ&Ff?4WncAUEN~6L|0iAcV-r`rkHprWos1=(fIu;yWzSo7+2QK zg{x0=2{74;sTd|bMxD~|FbU~oJ8xY)Ph|d)oq+iD!1EQKgqwSv8fixv>fFjUQlWZ3 znBV={L!qU^eQ5Oev!) z_5>NP8DW`4T_?RYqel!@EItLDq1Hs$c+lShl-IA3&|$n%2?l7 z(FVRZIlTPOAnk!dpX z|MOEK4^_~4|3%IDavcA>0&dZa6vc|tU+8_PisymSy%x#e?j>8Wg;veWQp5|fjSEg%ac251KZtR%wv zFP=YN3umFg0(1f|f&<$dP`SZ@hl!O1P6Do=+lL1#(Oy+mRg*_RmV2ocw#hSbzuI<4=EsTK0pH} zfw(Z|L<+b`L-;KrJKY+-c<~~CaXt73aS7dIbAh4>WL-ZN?1N%tYhD(VC<621HK|O8 z5rBU|QiBbEM$69TNN49|xC_lNhc`h~jBp;Dr44neoCzRzRyQ4k(_S|)K-Ave{$du% zn?W~*u`e1hA;`ay0x~vtzq%dm%itu1O4A@!Ee)QJmKj*+od)am7tfz>-8#5RLNePT zIt!_d0pzZlfpEM75Mj04gq#U#Fr^(T1|2U#M2lPI*8d!%e||_5xz*osFhCy)P|^e) z{;Rb<4nFrpeB@o=5OER{d)tnY;NqG#jm(!k9hvhiY~_mCR`^tXI$)b0!)EG`z%0{3 zkAhiL>x*mJRF?s!?C0)c$4G`JDsJ|Z&T52N%FmljpJk~R%ZAE3K{rH z`!cHIz-Eki(SQj{a$FgBQhbFHoO|SQ&G zZqU&&R@pl{J7+;AJz|9m2ombKXiFUc^)cCD^R~p2EUHuC29+TTH~gU0t{Uw02sl>j8I{ z94_EC=jfoI=kPwLK}^dF^}n2mg`D?;cZY&+V6tJtI{u=Me*#P#UC1#B{AGAIY#-tI44tp3UR zR=|z=-iu=PTJ*6Qb1dVX$Cn?sJAJyD_gE z%>keof3oz(-<)o`0_dtq);K)Z9Jqym;{)|M5f|t%SIwvNkjrqKkNtOYH-91_@u=2ZkJ%Xq zOJb({$@;WudbW1391Y$_{jtjR4|kQX;FcGbycqcU-O)LP>^O4CTj17vF&eyua&CC~ zL9qX~1}DzsB2)X?O&HjC;S8FLaX_Am&)Ll@G{l$BJ?r1p zF;|S_&ScB+Oj@(`{<3)Cb+&HbT?=!?<2t1NhOg!x1cU>r_w$iZ6=~AY(V3M}Q|*D9 zZ70+siOFVjfzJ^j$E=Y$ExhtUJva#`!6cNxoZl27At5BS3eIhZ&0SrJKStlY!3Gy8 zY8o2xm*g`>hKAH8q`0^J&;Be`ir0%0^4Gj&geoTJKY(SzqBz~&8 zyu3&<2>8fMI~=irx^$yGCpvm7IPD#8NoxB`s_AfFB-X``(rf!20XksDpKdMmq$tcKAaKzrgIC8 zqNmPkMiP&M^Z8UtSdFA)6iI*2+L9$nKWD>+M1Z4P4OwwEL%>c}<^zLZ_i-s%aq(v8 z^ZeYK?kL5xm3SoVeeLsyRhQ1%wCC;4jcoBx}|+o!T(u5|nh2>JCQu(7evo-;~JOq_&uldO76R|B9m1)o$aEew!Tv%{Z?3q^>D1R|D0Z0I>Q$8p> zAX%G+rub`<{eS<6uVmz4JR?|X*kxEdkX!G=`PpiF7JhISbfcrd^AYF0#~7#RdQ_p7 zaEJd&YxJ~-*FeknFXO?)la}YSN&BA6LixMb5IiE6yRyy`vy&S?hE=L+)nj^T?>5qC zsBSzi!I8fy-A?PfXh0nqr^x1TCD7L5aUFgBd3rlJhkg zuR$&lL-2a=6FADyhf3*RM9gB-o|1G^LQccc0J@Z+T1X*?xNqiFfp(v4R`>*nYMzIE zr%2xj8Hg7#cs2e%w!Q$QJh$tEdLMxv!5gk*hI>+`wq_qeX>eZ8p*t7<^!)WV*#stv7* zutiHoN^SmCiz`#!bx5Q;DeRW=(qhsH+9%1X#RUEGL}Whp5sw(T0Dd-m)Rf?K{t8$fm; zix#1a7cUMb?EYU*{jcAAoVRZ=Y@}ZCNK}NY*|LvOXW?aZknN1jeV6PjE?wu}v+i#y z2sGb${@t25AJ$UuxTjY0H!eHe-FfTY$+rcTerU&QZ=c&S-u9-`w$<}6CG*{6xs%Uj zdTBP^=0W>;G55-t$hJXtnh&Q|)!Q~aR8`)1DWjl(>+JL;#jX46RG0>;o(b(|yL|CV z6_2gk_EUcqMX{(M86r7>bC;dGb+Hie8~pK;bDThp`M?gkX(;#-E5GW&{=BR*KlCd~ z$B!Qm7(orCYW8YO9+gN2R!({U{(`50HOGlD0lnnKo?hzt{{1%i&%PGf>pwIP95|5h zRQV{p4LS;GCNn&KGHKK zr@u~%e%m?6JxW8j6&cq#bX2qc((Rg|0rs`GH=KUxqY%!qxE#3cz#~5SdCe}%0!!z0 zv01#T{Z&qns9!dlMv$hzK(^22@1{RiIvraSJqBD6JUk=T9AQV9fhV#>;DppPJ+}O; zg16dN5!W{#I^>30U!(Oj8IVR(2x6r zKK-wQ9xE-_>ms?|!cV^0mDehb$NhbF`L)Gd!wY`P*MHbbZ(Z9#rAXJ95$WAz7P{-g zT^7$D8E%E^^x6e|-IjKFY?sq6uMN5Y&VOs$!0S(gKRPzjU8cjM*PCz}x1RL4dF!-E z(w%7?|B%{A3U~g@RdSV-Ad(#xvSv);gpP?Y+d2F7Nmx_-}xWPc1Yt zalCN#)@|D^XRM2D$0FTWgk97KwMSvlGa3WriQac2*wy;lwP1-&>(+U~f-?@#qDM2A zm>DY=EgOp{5tD%OMVCM}LA|>$9PYxs@#r_XcrhBse0*w3>Gs-fqV0GIeI{g;s+dCt zN+2s+TXmfX#Qc>M0JYuW`k8b^*KwD6!e;xE0Ag6RC&4^e4`5w_MvU0{3&zIYCeX~Je;C6_KORHW?z)2*bg&g!0?PU+z2NZ61{T{;oy`2nblw&h~w3t=TR0Vf0$ z{IA#X*KgGB9^#WXu#y~|-QJUSb>HaRR^H7*x~XCw3iaL7d)ABnk`@}Moa^V%YJNwX zp#6n4$LvuYn8=2uGOoVr4b`t$4&ZFLJvDw7Q@ON>_6}3M7W1|%$G&Ms8D$7H=^0#e z4P~2R6t;Jzq&R;()IfXXnlPG`?5Rqn(#N8ogwalWMC7PtJ83M+25#;6pRf-U%VVJ5 zyHNM^5*%$jQJN4>Snb5=!MZIku69Q9#?7k08ML?N3(Wbuy57*O+fMpSiCkt5QCc8h zXY)$Nf@5NMalCy&T=MbrtJKQk{tteAC57ReGF9~dYE^Izz4oIe^L!;W|Z zY!TGSzQhC##*-)CQ6o$l`(8=~drLfYy{kV1hOt0W1@nX&yZ} zR-&T^uo!lypx=hLjP~x`t66v*i)a@05dXUX6`M9BuplKjpd(V^JpZ#frKUS&?vZOFs`rPzKzBHB`k`kB?1l0j)E9KR2jLs zP4$O=E`~|jTc)*fb8!*kDyL}(YZ6bc48!kxYq0$6Zr7AviK{=>X5>$jE9h{-SUv5$ zgpR3!CHlgTT}nH#U&R|=cu~d@qy~Nv+m>K!vchJIgD}WWAk%M9;Mz8<|96(DTi&|; z_O*GvwP{~f%0r*rc39khVuuTt+`2%mGhCb3-nLcKrv<4p)VRMgl(Rm4`n~_tr?k4Q zT5%^BcIWNSa*s%j@sZrh7d!UlPT}s1sfn`@jpA!I8n~q|CiH8bFp=rqkvZ*JnR+Tv zSa_3zV3VEr&yAFiELJdz(=aYC->7*p7)a~1pY5QJviZ4PpVpY)3;Y|n3K@9iIH^3| z4re6ujQi~_vp=Z_I{;jEd|}q6$Yq`l2>Y$TK;N4;SEQt-lE)7BT{?i%3NU(BeSVUA z!v@oVhjVVeV{mY$g1G5k;U{$BR#@W#`u!WQ%UgHuC>R>@{jCo%F);ye9E)c~*cUe0 zJK-o!ANK;Fztfpo)ifrHPY!T$P05E#xZ{I2lOpSFE z`r>`?qIVV;exHryD0erCP{aL5JMno6Kf!xBH;n?A|Sv7uV9=9 zWh_}ZjkgOPga&*Oxa0>-#XEla|5eqYK1IjU8S$7gE7n#2}ly z*a}0%zW2Plx3_nz(~=&{U)BNalZOf5s z6Wd8{O)ihW=iu#ce3o+o>kzI3aw|as*80R?Dm6B3| z8or34EPtl-%@PyX%kj=@DOi8*Z+bj|LX7yc>ntQGfD|Q#AXq4SxPi&E2M1QO`H_iuoSMq5zSr zH3mPu-%E~M(3saSJy#q7eWPHpS9s;GCw`g28-oT5Hm=yUab z4BaK#lg;ht(#?`4I6|g{|5jc7EP_!gU8GK;+BT-^_d1AR&vnrW+n8A|U#=e;4SoFh z4i34r+Y%Q#o-!Dx1^{)ufck8M$fdh)S0#Qn&~04%sA+zQIQH{`7l zbsAP)s}1Je4-dbKD)RzheKo~~`p=(9TtMg|%p0Lcpcp~l$hcwS<=@6uXkpO7Q{f7I z5(^)H0yGDZKObZnf_g=zVIn3O24yRu-n@V|=#l8-4_M3*}1lQB-`qd4$b9 zY!G~QjPW&AiyX@SlLBjaqHf#EKVCkVR5&<2yX8C0--6!Lk@jFg%52C!=CYH;PIwZ~ zEZ#+F&i_goH~^7)f&ef8ptAv+X|#5c(k2SHO3254_J*-A}mIVQb3q$UXC`6%n+F zzzt#6jY3~ha>t3sA?CFYpo@Yi!V~#_fYxm58?5Wnclg;$w^y%--_#X)EL=Hnc&J5V zAvee9Nt<8YdC8x^oA0-1afko?H=M|$>DP$36T&ah(q$+!Ph&+!s54Lwa@?(k8g_=u zx=8A@#0EuTT^1Gk&)2VC^Q()49fd*aYa$MX2``o-==I+~{fN+a0gFlK<$PiB{z$}R zHGpZNtgdKn)s9*8c94ir17Oo)H`*(8XrE?Q(I=NFHr!=U|8A~L8;37^-yN!=%i13NxwnVEgD5B%-?``x54Ml3g$ zxo%@q0d)gvRx?H>CO}s`=M^X6n97JJ7wSf{<==hbz3swB?q;*Evl?{ZN^4i~^0+F} zRABVHN7yEd^3XC*dt4wo5NeS#ENW`Y)2=^PUZ);xs-u1df^~pK*gcLj3 z6t@%0|<)X3OlXtnou< zVjkk{W?t=-1dVdKVd0zG)}|@8K)QZF@DQfEM?b_e2!TP zhPe*1jz7qTvKp76>V_pmnz!+s zh%R@Rj4${^Z%Dh+Zu(Y1cnX~l9r=-fqFBiJ;j;m86>2Yb;e?!%)En5V-~kZ_XruDB zHU!d!cXl0MF-S3A;lt#qnbM-$2YEgTndtgA1q1{jl=9>A#aRs+qDn<28>cq-O&nsO zQe-I&y@4li$}DYc6gxaT?$w@bvaoc64;C*FN=b><%bi`qV_m7_oToJFbDq`oadK z?kPPl@I?EqR5?7E2i(SVMN&BNsBf@wzBcyVuLvfuyJl6J-839-6e0WCTT|E5@ z2%IQPDCybv-bL-ujTc2vbz|H1?Xf_vG+&qox0Yj3kh3pTx?M;aW?IY?`>%ezi)OE% z);3u+W+e&DIQzVN_Anx?-MW3d3;-Nnn*0I`_#s`pmw#PVbq&PkL@Z7>^ydA0I(%J_ z%GNJSWPNnMD{f;|X5b6A<^Ivp$l-8uZd1ffYd6d1KqkCvuxIHd)==7xw5|t){{|IL zmOrd8IIn&!Dnp6;M<32{$!($m>N#v`E5*NKVP*9qqJW`k3tVa8(@8m6z%h~(S++Uan5@B~#c4bbi{ z9{gY_y~q~Tj4e|^Q!>fN^Y;C_gsgMB{bp@@ew5eyY}ptyPl{ihn|u^2dxAq!mdj+8 z?Eto==>(ZC@88ibtwZfMAQ1}?=FuY|3rxSfIK~%j@FOfUkHc2OM20nI*PZ)|C(BzK zv;o1`eUg(q>=z+WyR72owZmt)fIHvfQ0Xpn1MeK#Tx$JKZpZz^0Zqs{d zsSADXALTsu#=?AdJqQ>g;RKp|2&n;O=Z0`8`_)iQJmAc=g__^?M+*zCgS9hEcv<27 z8US52|N7!}?CicMA-mCf(~s>2-?It}SlyX+}p&mOr9dV8b#}XH@UF#-li5E;^HE`;E#?%cAQHE1B1&9?#sgDP{O;)W#clI0~%YU(Wg z+z7}eyV9Rvi7M+J%{2&(Z?Mm_7Ea>mzjpq*MhXa|$uF{d&CSipZ9%Z~3Jhe%V)vj2 z4}3r+km)2S(&O6gz!2ZTH#L?4DOrjtWE@K=O{lsBEJ9<$n-|!AV`h8>xwD#kYI0qmFq#>8*|~})8OfCgMZiZfinCFk?9ky@ zp~Oh+!8iMCDE@fIZij2g1sEG!Uv$>m+B#tKcsrh>>iFZTEQ~>BW@ffKE;ETOkyUqV z0WwxONn_f=cC=l~mpd^q#b^?01)Q~nHnXr$O4uyHM!MkrjtsxJ+7YfZyr>x>&U3G68ltWMQ!f z4g2^+&tW1EhKfmja2DbnZw$@t6A4}J>A)YFXuDcs+y*=cOBZQ*T5-P z`RX`2IBdqS3{p4wv;Y%sBf(anDzsvD48^~}iBGDPMR2GDk|Wv>JU5=VyA1^}#Lo{c zR#*~gISOa2<=e|2U-SC)sx!}ym*I%_)qts#2G_%DuZLw3=#m)-T!tV04btUA|3}WU zm>W1@3iyxN9#Q6vN#3~3ya0Nk$=e`oxC%cBrL(g$=3OhG-U97V2}p?)=lR3HNI6mH zqY=k~``zS%Q6T)j2HQdY-UVbg)8;g8V3BlC%iu4F)66t9t&gW$nj01@a+;zCGk#BN z2PP8%7O?&jK9&uRBr&EFu>g-STVWXc0oMRJ2$7VQD=`1I<-mar#~$pFhp1K+h&}oIWo0YCZN0(sCWEe` z=pRSt@LJV({<6l!RXKkALvE^SjKU-A&@4AcC=}Fr)FwX1Rpc<*E)h2H0gB~Da(4x6 zn^6K0VmWm^8{2l%$dt+Bc5BrJPz!29;OMfnAkpTi02n9}TadZ0$Lpbx_DoH^l4gX5 z1zfVu`tU!c@ISu@dHBllp--QAY*(u+?FlJrqdp(gqUE5N;oOFPT~*1*VwFZaPJFe~ zutF)-@dM)WCR0jlF4#|ZBaT4PI)RGBsU?!w;L-Tn7iYZz~#@8Rh zM5t(zJBl3F0Ucr!oh~75FRIRMZToSo!X<2|@v6?53IwZoA+!^uZQp>mkB?z}{1N); zIhk92eyFdx*Kl!#8>K*Khe6|*qr>7BEm+ye6*QZ(e$5(p{Odm2OI25~!-wBg57=e* zz<@76rBbN>`U-Hh9*LPhXdhdFZ$W-0yjqmoYWbFW*vifagi?8Y;ny$QUq8N_d1|ol zM9;NzxggLGKzPCLwf#mj9tVJkK3yE)@E7)o_lM)F$+JjIyi;=fHI5}j%Ry3Cp)uPa zVZ9Z(g**ZfE#L59X1+gMyWYUl@xM7n3N1oXZ+Mu#Q@Y`W`zHW@NYuJ(Ou6`PTNo58}@sPJ4J}?4) zyC-!Ovmc})rHBTTMSg(+F9!S*Hot!F`3)db$O_SmHS7G|5P{;?nG*ChW!2TYD}UpZ zyc;?77*Ieo(%zTc?>6J#08w2GIG3b;o~p=61BFV zYOR_t#>GHfXUp1CQ&S`MA1;b1U9ik~+jFx)6HnYY_v)xI!Kx6b-_MD@}L0byR z(eJl5%{y-v-K*X_LaX+c;(!Iif+4R*41qrFa)kNo+t{~zy9VWtO+HLqW8Pi;!byW# z@Se~=S{10>Hez^P5lzGdMziGS8`AZ85I8*)oLR}{S4@TMZ_7muVuX9(Q9-kujNpc8 zu*7ypB9p>UbeEkH9}D=M9pXW>6xYYTGEqQDzH5_=lb74lEDaI46h>hy4^)yG9FH)TWVBO$wlf~Wk=8>N_>;!I5O{P>dHSJReb&Tjd&C{f*i!2&wQ z@#*PLnH?B(LW}oelf6`1uqzJtHI=LxbE(G%d;>jm)V)^Tj(w?*%sDYG$<>X#b^kFQ6N;_1~29U3H zU=+bdQALJmmw+;f{Lx8`gJ_A*8$-Fj^PP%y!wFL~U>lcrwL7eJY_-jUSx<%Ux({$(MIx+eIoHU?(n2xFU(s=ArOOc}pX=kS#kQZ_9GFMC0GinXo!j(kv zk@EX7hP40hKd-i7@`>xQk7wmKp^qY50)?w$Ed0d>>vynLH!Jr{=`0p59bEUPEaR*D zE5>h=72BjceO>AJ(YrNH8??-~Zr>lCfHQmAOnFzoUW8wgdGfapI#c?TDLY+`-@H%d zKJ-?flAY-TLyT4B{fw(w^wi4z*3;9@k7K{Ht)OU3t||@)9_0KR*$DpX=kNa}%eYz< z<5C?Ggdb7_E5pc=5a-s9G9@xHZ+lA5geEL*5Okid5xM=(fcxNJf)x{~Vh*8=x>z%N-SS-WSphED z8=97?aiZXNLpT+lTTpa?jW-UEyD_7hXa_9SALZ>4?&<02b3>E!Cm?cK^$`p=4{;(v zf5v}44kZ<#`aeiuLE>o#-Gg%j)lE%j6Q_z3!3O1SuEXxG(5BBYXQW+4O?{O6B@$so zM8t27`V9PN{RJ*KjASGn$8hnhu*m0{jvoL`dTWlTsMIR#z^>TM6evfaL2F2e37*t) zQHAh6(FhnkCWRlc75w1SsWhsIPjhK`pf%;96swKf%E@}}Rq2zxVf}Jn>$mw|FgHq=kPMOg zkEg~jHOL=NMoQlXJQjnp0vz7Gu2Nx)IfHSbg`TWIWsr}8(AI;`G5bTLtX1arU?Elc zD*=J{Q?S`QE<0y6&E22W9pN>zZ8p!zrk@NQo{id^$D9ju&wkwfA8p&90uF zxbY>TvIr9ydew8{&)h|7YHB7lpT#OmJm~l;kb+rTO+aVnZyK=muGIZPM7P%rYYMG# z-szR@u%31#Ao@F^wn$drAVR^4Ws?1QIXPm8HEGrvIymorHJJbmP!O!A-~G|QD5DC4 zEW2{jQpTky2*af|yfSE`8Q}BV=#`%~v#pIkVAXZ-M{5oPq!CA(gW1z&yDMmbFz+g| zG&MC%!z$y7^?Ji4XuKXwxw$au71@tPez*n#MZhlB5o8$zMd|?~Cr_RvlL>0(^l&E? zZK&bV@NQsnx_@(FJ18bFI3MUEMd5w&@ZrN~q2(f#v*Uae?M04fjzz5b7vvP2=I!&; zXr$lNc8upvme|+mE7NN}Xw7VVUbAEKH=Ac^ZJ#+SPgM?+u@t^n!egz{T#k;1Os1;a z9#-DeqcN~ZSjbW7d}3_>Ag1ntvIEPkLUSr@)4L4^%xPYTFD?(OFdbKop4i7aYP;6w z!5v+x@6*Ry#AK5apkeP3<6k!Td!pmAzvdogF!KaP#A`->g#vaZ={O<0!Swr454m@&P;F3u@fiWpz@_kmB2LEtvBB++J20T5I)gZ z`-8lSP>ALpA3Rg-p*}lw6^CtYZPSdP&^U;E)u@*ZJO*wf-XA1@Vyms6AR}iqf{j_ONWZJ7&eJbS%<2Dh{o0KAQ+!tqvk^CQB)xVCTp1PU!YB9!S;|A#3o7hzvZTgt0)n?dBV1Ng0LRxPv=$ietSRSXymd zvr%<}J&_uoK-oZwTr^o)XtM50xMFj?fStlWUDZFoC>WnOBiVG-U%7Bo*-Y6K_a(uF zyTdQ<2Zi&^%T#w}gV5_Me*T1zPCMvLHfXu%oY4s%bYA(p|2HuQGaGDBZ5E)t z#Ar}Jl~GO2Z#FaaSR`&`=;;>&x-AWlD1uco7knDjh4qS?7N+(!CO^JhMBT^ppHb#i zVsr!I2SpA&(h(TXxQp-aSzW(QJZ7AJ4cb|edqtYCX30Hxv~8fx5qxb^{LVPN(dQD31lSF4?L1~88HOZm#8%#9hL%3M;=J=AwSt>eF7 z3h5_$|A?+xK(654e2-o*A3~LAfdB`1@}nk+^1{|#ycRroVnKsr2pHGO(|K&dG& z2EL!>7-Yka;yo7{AE3V;<-=9;(yW4d=exy9ghfR|BsQ_LKmXPGn4WK0kXQeC)eSC~ zT;*Gqzzz(ATI{&f^7gg2yZZa754w4>>zB9+*c73=*B&~Q4caObdq}z3a5YT;44?jP zx6H}4$G>Py-i}4>aF~&!-gH+PCD99O1wMhG3{$y78CyOA6%3L{vrrNGS8!wbo__1o z#+ED*>WFql)x}EtM`Ft&H+cG94eQx%+bqQWN#8X}JP(I|u3zi52;+f$2Ti7!4pFys zn#=8yQg4F4fkwqzCgI#AP2HEg=d={NGPs4R6jpgIm-u{18d6~$>0`LBAQq}U+4n?L zCI8Uz)TBaWO|O5H!bdP4R*9+`s3I@sZpf4!Y1Ksa#EDPO^&c3G1||gbLqjJ5pfmkr zd)$Ks9rG_yZV(2ybOkY0i0l_`hkQALP`GDuoMXLj!sYOgZ1<9xQ}wo7n+-# z#*co;Xg*L_C-w}{b620h^alwpVKx}X?;aUR&D2+_?>sOpkcBfM zo2w_EWrD_l^~ET7omDiXLrjQHIr+xjAE4$a7Mb*Jfb;&N*)dC8_i+wT zG+aJHujs%BglMHgo7QveO-`HK>gW|NczJjHS$)V7;@p;(v^r7IHT~&a9p8)jFFG5~=xz&{Bc4S)3?_}M}L^=M%WEI5bTOPjrexIW9)7HU12{7XJ$pGc% zSGvJL&kCb_tK0S-eqw#a_N<)XvE`qud)7rodu`I+Ti3~W;4+Q6$Q(zWsexIb!U%Jm zLH3l8&{-kouQf;V(Ie9bW@G$h05RBgQdU6HsyDBU^g&PaQw*RZ>!-J=`x=FU!-pfCh{s`3n3*@O9M@;9_L`r=l$jua78@h8h2o zi?|;Ux(jFW!Jh%tXw}E4(~R)ncTMv{3IewTi#FHUK6ZZ}i~b#C4jzmlW{SWVg4FT% z$$wvt<`dRt`IgOZCMgG(C2sor`=1>GrBW5KZsW$p@dEH3uaW+2xH)B1p&P>sNcl`Czh`NCjgm*YXInG9|?Q31OWZO#Od*~{TTM}absl~r~}NRj)K zt1DNo6y?~P@ab!bTOj`XyYMrahD!dw5rusaYY+E_6Nxka2dJ;nR4_>!qAKK+@L^4~ zTU~v9q2{G2K+j=mhA<-V@-14>uF=uez@MMaL)9q_Rdm)SDM?AgrG?p}>C-Yvz)Fb9 z5rpk~nPRtWgbyM+#_9QNW&dR&Z?_KA_83ThINTz)yxMt?i3w$2r%N(Pr+C zC5MS%D(5$@1Q}!_JOZx7VYG0yF!gw0@kK3h%B$+bhlatqA%jbow%Z5n<2j7+I^(4x zeMmuxJQ#=|J$=W5AOhR#H*aBiE6RzH_g`HiVY;DbS+k*~C&6lz@iV~=RG zzD}o+!pcqFK1%&GfW<2D{IfRMgBSsHQg`8S>y}<;aZGAV`u~?Ax_+O?Hd@-_6-LV; zDQ-)j)Plpytq$5{=I%Q<-*k4czKr7|r%q{ux=XV#{&3&6&w?i_XWb_ylRICipGg_b z;D}vj?%Q&q-bjDT&`+Uw*P_szk;Cg)<{lsIN}b)KATJq)BSazPxxC!Yv7s#OD^JGk z1^PqOK4ys+f>9C}ey8>-X~Deh){_6<;`#XXXxnc-e{K>mg0N8u)#6T5e?X_v$lTBj z6+A9ncT)SE8nBV}&5|d8u^+H5oIa*-H_1} z>(PKnCMGlQ)i2&-bAIdEGRWQIWJFDCDNtgooCsYSGK78(#jPi}+siN5HTGy`P(TY% zWrqoBS0W2!WO`b1KmrqtKRQeFEe%wml0il6jc~K8V_4s9F?0k}h~JcKgBs7&U>zmK zkxGG2tQx~FHss~yMFUIa__0R{m2n|pP`u}R!!1C^a@s$hoBOrU`xc6it3wOoy(d^u zcA;O;a9VD^)z@Bp)>PHpwE;9D#wIp`k_wT8=2ZqA+KQ%h{Xl$#%jptKes}KNo1c_{ zXIA8aYb(*n)#P4*-e9mfJxaUjWp?&DQ9&6QU4f}ymbK#v-)&4?h{gmD^&)pCQIBA5 z{(Ii;5n*w0j3nIr(6fw)nbY#`nuLWe=YkI7$w)un&TQ7L+g(e>CL38fhnJakEUx-r zBG!6*<(4HKn${+m*Lx_S%I53D<8eFYHs}QNt>2EnmeC3j#9ZXPFcDj;f^AmYxM#M` z-`nS(#j;{D#XarWGQ(%ltW*l$COsj$l;^pU8#k_%c8-}1c|W9)V>80n$Fm^d`G=mg zH6!KV=V$)W`A3c%8Ei`B1Pv^Tp-}wanl)>p@3&?RI@hkHApGWNIPq;ULO9YekunQr zkF-CL|EDtrkL=%>kLS(`k6FEj?FDaJMDAv-k= zaGU!D%>2LHe!j?(<8LD7@pGzg;WVervwv9@`SH!fH&=-iEj89FI@-dv5NH%TGs{Ys zj<2h*JKNd%nq$XYC-?6sH!6-e|f>B4xgsQua>onY?tidcM)>h|c;$ zUTM#?O@HWrpjfy-_v6KiI~!b49|+kW>JHd(I^(^jNDjkN=WM4asQ|E zQWM}l{3B^{^=cqq0W5#d*Dl~Q6IB$)=&t8rO;xy!_&qGpW8C9pybst3L6fVkr>BPn zrTMVzjjwiFkiz=&4#h?k{>G?~(r7q@iQlYuTk-= zBML3R40L*&6fl&$g975B3|xDp&!0cfs_khFX~Y|df()))5pakC+jx_N@g!sEj(jmRKJlb7opThMsK?zv)LzVdOMvJUt0oBd7NEsF#no}O|{ z(fg1AkBiv$c#Mq>+>CVKnT9RU9?Mr7xOdssYAqJ^PhJ*({q+getkZB< zt5wh*(52X5y4OSHS5AVXmN@J1F!N;n<9X?MnNT;EkReSz(VJ5ysDYVB3xz11;N!9hboZK`2N<+Um@06X(-FdibRHs1;Q9DC^cYSwWG zJ!Xf%nGplD`o%X^P!QG&{Vlz>>cEbl#cnq99gqI4xv@=8h-29mA_D%#QF$U(d4p{2 zYTsAk`wtMiB984{u3dyY}8goktH-2DoQ97!SAJ z4+^5l)ZAkekn6$D&CT8SH=$5Ygcp!~zPI}TaE7R8%ya=-?a?dJtZhf(!?;1{plbAI zFv!{7EU9qyK6{qKb=$Pm=TseW;>!`^LR|XLCotK)?n#pdDs$`Z-4Mwd8;`Lk7Z+c+1Ez5gls;aN2JCzR0(D+B-`W_T zVgvq0j-iu_UN>AY{c0AoZi)^@@1Q2L=k{v9;3t2C%yOm>x6QtqV7uez9>UXEJ}Mog zmst_Jt`@ouC|(~=VH)E-YPUvRMafGSx6WJMVJsl{#+yapj9T)o1n+Kz9U$Y7|z*VJ!7Ao1Ido>?s2c$Dp@zm4=zCmOkaIDboB4wC)a# z_!B?*o{jTATLUD8-+f7GtJ%ms#huOfE z^e&_amt-KbkilSYqOIH34yYrEyryhYY;iIW{007A*g3`rxQ%`KG`$N{0FoQPOl1gm zF~`_kSoNi?tp|f%WB>@s+Sl;So$q;{i&D`P5Ys(94&!BR9cJ82?M=98nlPudb+-IC=c=cXRB z#-s~Cl#y7cd#SD^{d8XO@0$2B2Cqu?3A4nUWfEcJG4&NYcBgdU=tk*6oz*&L*(=_a zQK^3XayRA#o;$t6%mlBi>{K?2<17L1idW1P4Y$Tj&iT094;2!!Q8nd(9%S~cyFbUN zFh&YSG0Kx)Ry3AS>2q$VNb8QW`f+`u^8Tld=Z^c>%YRon9^%UVtUx_|*D}YR*yaED zOMPDt(IGk%9spM!{V?5+1)8gJ>Qu9p$w6!DtOjA9J@21ejK|`_cG;v~`MFYo;vk5K z)eld5V|1xqV(u4BD^#l7z)jUE!N{gt`$Gc*Buuro9nVC^Y(^cr57(txH^EvRO-%!& zyj|0W^Wo*&0&xH+gRKrxAkX7aZgbFee7kmTzpUIZeUN7!=)$3fxdpw?N($iCh#xoc zMI`@wxLyhtA_^0HCn47b2XD8U5>P0>4=bU4#;{ym%<4u(l|gMiI=$mZj>tps133*1 zMF!|A;vxRyN6JJi5a!T71tG`S7HR48qv3o?cWCL^KKVgM;?>a5kW#s{v_xF>Rkqf@ zE5S5W)sN>uY(1JbN;_n{ja=v0S@Iuf{r|tM_4@up14T>UoeeCvEBI|^dn6UNriN$d z?b026*OpXvE`0w^J3X4qf2QhCdRh;nan-Tdd$F}H`u6b`;|Jr5^MfS6%$k^uxk|)E#OMiE`AaSYJ#;9A zmC+a3HE1oFppOSJ5e*P*!@i5R%5Od=)IQ!A89E^vJ4M~3x3EGR<>D>b{aqUv3gqs7 z(4efC;Rr{jzD!U;?L@)eg9_n#fMMF~^aR$YT|Fry^;@4TP+Rnm%CtQ_z`c}@e zr+0Qn7S}FMTPIajRZ$Q#Ve`Z0qUIJWM9xs^zQh#{8M}B#q;6VOf0bLX+sMsl7Q+Qh zVlZ3QT3jfPy>azXNk?F>{b87JKip}>w>~d8?YyoO%lMORU6%A47IxFNJ?lTz(ip`Y z92{oNkbID{%n$V&|M!b2V6B(OUvm68diBSk%&$P#LiI_%@VWqM%-FI3;>{h_ldfOV zWV%>%Qja3?{{1s)ZL>wg58KOyZPsB*>5KB_Wpm0Po|!}eSjPl!OjG+~B#3O9{xt6Hz9%<^tOycI(5}FwjG$rE-2LXK4UrKoina8;)5s=w{j9K+z=(IKT{G~i?C@cqo{;RoxL3Ll&$ronvmL7nLf z0Sse%2UC__@H{W;c%w_EQxRo7PBfL4zHl#}7kIHUM54l0oN6yS#oXiDOY8;w`wqpd zu2k)++$Kq4M?c=kk1PNnAo6EeGSEVP-NsHn<0U$ap9)6|C)9tjyEMsa|{TGL@%!} zPnuq+kH`p`Pr;c;C?@GygBA}rVPZ_cE-svyb9nb)-mV8`P_QV-KkJNz1r^M43!80D z0yR@mR1|Bi#0~DPA=XmL&YKtc#-@9Kkees|7oDA&kGU*^p6Gt+)|{;JXQ4_H<G&Ife=-N2d552C^LN z7!CIQsi$bNK)Lc7O&4(#_WrG#Z~e49=4I<j_gHsw~|6gRP;5OA;x-$ zh+m*t*5%to%DJW0Z9??jWz!D&4q}mdQ|5R%7#RnJh3&KnzYS!6~xpR-NwDg7$qfDOs00TrQDK{ z`CVGOIWVeWkhl8I;)U}EC(Lc;pRAa=d+}2y+X|aKH+!xhykc}Z;M(qobs2lwPIR{p zv2r}P*&=A@-<*gW2bqQ2x2w{BUASg=pjklySr$V{W~~74WA5YGZ@oKg0=sM$P)}M{ ztSdHw-@?91XwE~2uRDHnCRlxxT)M4(d>+zIbp+6axCvRWRf32)8a*!WY_K*W-v;)= zZqF-F48)*`^cWC?GzeD%JT0725Y>`i3En#e#26iJ%qM*n6$NDpw0-2dHfT)LGx8OzB;?hhH^LfmZ z8@cQxI^}(psM>NGZW}^vzZ!$76#9W-NP0>DdhMD5gGvvdpcaIqK7=I-{o&Ad68OZ3 z1jysZL!=G|_ptw~EIsYIW=Vol$No*U^RjA@)BU93>%CdI`wx9Ia}*hTTHv>{zlPsy zhj{h3mdJY>S}Ipl{n(I)=Nx}xB5{J)&U%T?HorIX@K0nSzOzyyQV|WG#`b+%8N6xw zWcMQDA-;vnOplIk95bUozl(xVn7vFTM8vl4-7`jd(S>8(1w;MQqDs5%k_vl2PF|~* z`9~5Bn{ z1qHA^egFQ*=m4(htE1CTQviSye{AecsCBxco2>IPtzClHtK7Izq&&YS%N6-dwAFKs zg2xS1{;|Ic5Z}O~(lCbRc^d*a#?l!oO3Gr}_}#dABp<;efog2srcG%NTJctQi~(3G z^VDWGItj}Pq+u~@>6rBH7xgQ}2pR`+(=30>JtY{Jf*Ej_{ke^h&;XO==lyx)^eQ5D zD(g{<0kFmUv?9(AfQzy>!9|V@v{u7~!}^L$eT&jijRn6QD#6SG0PKAO2nd%`ie=%# z?RAK+uC)Z3(sw@waArN4z7)F@Dn|wq10|bYs`UTtJo}$F-bceD`^>24_Xb;Q=9|Yn zDUL^Q--Hsy>RZaC^uwngzGd2jUemz%=tiUZ7LPoe7}32vg8sr4Bd1dmGSk{{&FA)F zxRp_M{|3P=`a|)>w0u8Ci#bENcMZq8x?*+38kZ@P&1dq*%d&j<92N#dv%`5aDye5G zwY|!zB`DcTcD5KYFdk0{NlHGs^ht~--tzKJh5UNysBL}YLymuvfl*ZOOP7~j}8#0N553*x^0D+SLy6$U+ zqDTmwo%+xz7WDbxH+UcfrM!CeYHDL6J5b`db_on`;kz`L@?cnWU#0)uyQ(FwF8;qa zdj+Y+qigqXNCWr|#65Z36=NcYz}kq_vh0jSM@d?kL;3BFD)%wYcIvByyr$*`v=8x5 zEsKASkC);MWm824J7L^|+HGONw_yU&)hv@!%?nn=#G(SdO)P#m>w)>%*=~^0+Jnb8 zI95J}2vfk0?*lZ-7}7~dsRZ0xhRtdz6#>OS#1shmS5wzJu!wP`eU%VzL-z74b1vSk zchMC({QyXv%@R5PS2+Ijn-O}(lNCw+b*61H8yeki_-=GN)RlH>-`0D}A0@7Bm$zry zRhkpyN+b9HM$`I-*-B@(Y`eB>z47?8)j@CTXMdb62MedCQ%kPRytxq37}b1ZlcdIv z`0Tk^-EY++DvoZapNjcBp=`WMv4z6uF#-XIPCjO3xv%rIE-+Ay>KNm+Bx2;%GtLPa+m{W$iX$8F&zW-JnW z(3LhDig!MQ(?KcVX7tIsQqQDl3gf3bt4iAiDT#X0(~}ry4wBeAyrA87GW@_zxJO;& zo`xZaFl-}J8}u>_sXRPAjcbCZoi83d=pJpe-x%sMoqh-G<>-Q8eQ;}h6ofCv0fl*a zrZNstk^P^4RL%fh)GI#u=38j6X_GLm-4hza(Wt12uFPLT4@?Blu&haFoj;rtqsMKt zfpfUPZyDq0JV{TwU(!)sTeQ90UUHr~@-uzhStgreK|rZ0r_R&nxo>=EGMM6eY9R7a zcT(Y8E9!l#-Zw1q#%5zh`$Q(z8CoW~%J`#nHa=T=P0HZjQ`%?NHGPb!$12jwqINZF zu$P!TX4Xp?EkAfoZ4-9MkdMrN>I+h#>r6L|yv^s&pX;(sPUTSDgJnlFJmmHbpioPt zx=ZHqz&cWF=0BwT5a_OP0N`59eh09xy-h7p5dv&YJb123!tv);h;pgB%-#L4-VbiTs` zA8f}&>rd$gwGBWRc!nn82Kb#lBnIbfM}tb|=n8u;vbfQIdM(U@z>`u?B&jEQV1miC zsDHW_MK*{R_YV@#NHwd8cRojHh7fiPi$!AG=WJ^~|q8!lnT4DolAeaR^sat_}1ej6_L5lyCB{Ze(Mv89srkk<9n(7cau?g{rPR$;IDGhAkm8 z)J_iT3@l7a(#+)h`(3yB|hf z7;R7(wtG6^oD_MS#t}onNnKa}+5r{6_6p706$b&uL(;>94U+PcE-o%){xzooN%v*6 zBe_;U!y45lO9=W0JX2knZmM*3p@J@7&*=@BL!{=jG*`=RD7j zwbx#IfeFO`y~bn)%MSFv65>O2b%Byt7@`Xf+9)I>NT6?^-nVs3Uqge+lnXlKee3C} zDG2r-ZN7$f#6**%HbTtt2PuOGvKLJ#H%DfM6B&t42i!etivWlRQ-oX<5>H}q{Kv`W#9ky?P2dmkGvLQ)>@7!Mh0F$|GE1U86rD> z=eSAn_jF*ohuQCkwT#$J*xA|jRxZu6#wSkRZ+6IjDM&?^6nYYkxUvTN9PI30b`8nQ z&BPfJ-6ivrd(r;;fzB2p32rNjAA4*C8i%t-ChMi@%a>1Qy?Ju^niF4#z z_?>UZEKu03MlR23d92Con^w!I<~OL(n7s4-y7S=+U-sBuq9_S;=`-%RcjTP1DHs`QFFOzi`=z#li~hxP(lyX$=}nb z{ukWq6B)B}WsAI)R7%t{%6mod-98{4AR&R^ z50td8{4!y5`}Y-(SSa@B?e6nZV1mjCgE;`vvzC>REbiUrMnlXemM%eK&Me)Fbi#S{ z8$cxq!%~lq6=Om}^@Y(+c(Sgcp}0&+qQe$WBc5TO!a?jE(|a-tQz}Ow)&34=;`Xhu zV87YvX=8jC?C^itPy@~@q1p0)4 zHe-4l4u0)j`q1Oe+3 zEOFFxImk^AEZk8Ho&2wt;9-z$-*vH!c5H0Dd&c3@-sB%WM=}F9y1FxNL`KJLX!V?} z{G4DfW}YDTaaX_AuNJTqU4(qpo@fMp}xQ(mQx=Uo(Pi5eqb^2CNVybWMy^t028}m@a=LWy% zTQe2s&!;xns4A|8=&mcV6Uy%w@BGR^`J$jR+9mgn6vZp%6Ik4+yF*_PuSz&u#sqh-zA1JZcPE|M{SB2^u)<4@e^BFt>@|v zJ!t}%o37s|-X8=Z1++v7GR&=yA@`LoA*6SZ5ycfmry&DAtAqXjh(9F32)S2vINweP znhJim#~E=$|Ilf)vqb$6^MK4H(c5BB0v#ssZJrwpuTskKq5AWSQ%F3o8qfH8;EnKg zwn-B8$DT^*`{uXDfSmCiV_s!M+5w9Z0}G+(Q`RDnpdXY_XwZ(ha&GyfUg%5CIEZ%M zYMrgE%7!nj4R61>uFJV^>X@7Zÿ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%0AfC@q1I07~YDgd(DhRDg1`$cm( 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

Ts!DUArhYe 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

  • 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

    (Vs+c1+At$1>3+%mx?{&LdwWv@mo85W z6V!lOyyImlS=ZL9mA|awg^Pm-ILmPIW*#M;<=l zdVgrQnK9GC?#c97$g0jp02b2!$Jdq752*DYe{SV8H0x5a+c+O%c02(yZTS&K_%PZM2{a`290ucU3W<#Y7?aHaoKOA$Q~{AP?&>0N2P|??XONEut#5*6vIc-n|JnH>ssu^k7w$ z!sbGf1~pzNpNuvs>F-p_{S4N7-Os>*2Te78D2;1&u?C%2V(~x>cD+I^m;2$qFI2Lz(>J4+g!QrLQf-7t4n<}u-S&n(vg)4V zkO1~v?ZE5{_TABmsNN-BiNEdpfYt!RWN0a7IYJMiVitKxx5~4vkuVBaC}&}SCe>JC z3PqhucPEL#Wg|+b)Ox7|7c;@ixiJr{_9&qJVsJLVaaD^dCUECw?q(N)ybM%(C>2A7Ue z-Tn+&n#Qw>o(n&&0WTMje1o5Y#YOeMN z^dddXkLaG?v32;b5^VK6kNO$h{=jv;eNC^W@qTr;ar$h^rG)iVTV-!OyTnwc>j(m< z`S7KFft?k`1rQ>(UqmVHeHpe|J9=;-QN+3ci0z*Nav|hmx$VGyeiW2#bm9i|x4@>F zBwwO2dahh?=P9Skp21fA3tQ0jM!MMIM&PVD!fI2s%4NC0tCY1sBM_fSH{{53YtP!< zD{a+6to*NU@=yk}+{xF0r$Y!?@|RC^zQgts z66tFC$9ZBuK?CQMwR~Np^oZ=00S8;#eC)czvuA=nYle!XVICH$m@Z)uaI^$ z^D@lpv9-1JFb+iosee$1prN9sm$HBp1CE=h^7-2mr9Kgc=m>F;+;cCmH zBNC~0!-Ja6q|b7ttiS#!_0;JHlm5Lm=|nONJHGtY;@#!}f$*an zlXl>u48_HUg-@Nt{`qGuq<1Nz`VxUbu-ty3KdnHYgG;c!i1H}MW^N8r`~AKu7a>5@ z1Gp+baa1nU6CZoT*jOcGmMNQIGtsdxd<s>cth!n_Tb ziE=Q|UcHD3-n48x<46t8iub^eJg}Pi2?rb(!34UaHB{$(n1b*USyT9t&Q#im z5@A^!ua48lAEi8I2s7fS?i`_CRTaP73mgb%V0G7kEz^4H_U4u%+whi`Tn!)J6DTg? zy)oB!pt0Mk*d&ZFi%uQ*5PG?hfXVC;+F;jGUkJi9!+xfNO>fLo6>DG1*LAw_?X9P4 zpVm__??J?;mt<&CqJ+i4>(%(+iMcp+bqB>@{oW96F-dEK>kH`zI3gaG&PCsIhvaD&vQeEz0Z zsn%qWoE6A~C6;O$_N5HGf?SEpvcSbd9;0QmHR^O&QQg)X5`O@Nwn54vuwL2cI361^OKBal70oGb#5t=-Y;+wDQr}M2lIzCy)>7M>6s4JbAKJ zJr13)-PKwZqc{(ru-Z=ca$GPX5!hl7`&npn*13~%j~{71V;{;;hY;f7+n_cpkx>3K`?~-$QO)CWxJHt)x**Sh(OO^ zTnZ{%^Ku;YXV`}DOVeogbwr$`MW98CFusi{>>@#7HU~HnD$#;E$eH&`IXQ!sb<21U z@Lx>Pu%9iu;o_Yy5PB%fj+`c}(U`U@sK$&D^O~hvdOM(_+t`J8DIyi>c zvG!TdEp1fxG);w*_qZjOTm0^F%?IkC#%-;FZot*8P4DKWvsAVM(KuHh{dhTeL z37t&+0=mP9!)=yqJId^|utaRsMtP3%ejh(yZ`Ssm%mH8blC4>s5Z>H^#%Hrd4idhI z!n)1AHeG;lRelHUoB7BA6*uJ Wx~>X~KJB4@hI<(AAi_aR@@ay%9UdoMugNd~{l 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

    G$yDvh+0NiLs9-U=tf|Hg~ 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%0D7y4n5OhwZ;BoJH*-<%D*XoguVWdb|7( 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 GKmIQ-jv|2o literal 755712 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%0AH>w-LTYY_r-&S1UbwIEx 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

    r$lD|Mk`(cm8 z6a#+)V9cott*Q#|)jB8dwiB-Cq_gFBFJfWeQg3IUjRGh{wAW0PRUbps!CZbPU0NRo zPN81bc&WK+eGJlq{`=57H7ISedl58tYAs*L-Ii2(KIuzbIeLQX4g4aE_)(#7sTaY4RqoxmV@8nrP*MokQ`gW$g@bwmwf|&A&D$jSiW$j?CPmIx9?wx2mN1 z*4BP0oxRF;$YSvdczzogAYbV+8p%jcE#%OlFFLGK;%b4lUY1ldW0_yfa`eM`thGkt z0ldv117h>z@y>VC$DS28Z7{EfJnPXGWi_{PWg{?Ta4Dx}j$nIf!tD+vD^12*#(F&< z(R)*7+5CGOzr37{n$OObrrsCG(6opsCS%@i8Ge3h`RdEZ25f{)q3^GY#tbfuCs~nN z1kD#YAays0vj!{e*eOuDC@;O_Fx8(mncsobAZWI{8)nb=J@U?7ipt;q48X$)FU_i* z*8@dExG~7m#wYv*DEM|`QG&41dhd$yd~}tZr6^ldzLs%$;_<(}fshM*P}WUzeSonu z%|Hp}Qe=H^E!|jNwjNp`C7^+&3+~(N0|992XP?tRiJkL=|5c;^kC(QHa9RaKELO$T zD$lYvd!f+Fkac#80Q`-$Ss{#_yvNO(&Z_5VXx5i1I`AtCgN&5N{#_ALT{?8*{l}vR z*7}^W>$pnh)dr{UH3oQ}dh6*Z&2FvhbAs_a(Myf#Ryv!j)SKByFB9Wcb`WWS!LqS5;khTdwV;ZS!(wRl?l&; zkxwl5_8glOwO_u|7%Ei4f0X7?iJP;Lj=L*WiQ3t*p!#-7nWIqOkKcOLq<-w}c068a zgnoJ7}pcyu$n{G9R+eCVNG^^;E$hlj>xKd1FY zg-3FXdPf0eV2@QhC;MJ)jFCg92#?i+IknWM>>DR}czAvui~8^(lgk6m;^i-&sr?5J zfJ*Jp0I3doClc0Qax|y%i&u9{_Pjsqas|a#U{1~2Wk1c=oI6kk+!H|X#p#y_)Q+D| zx-7dvI>k@)ir&20<|wrkkJl6)dwcw^rKcq=NKQP)d~Gr$9^A2n^zT9KaFfSNpIL&M zH9{*|kD}K{7%?l>52MmYdVktx zAD_$DS+tpt5ZkM`_*svoSz>GkzU0D{*69^46OOv2**$9%DV%buG9C^^N>PWEFX@5{ zca){uQze49_`SQzxF+FDGVN(`xTlj(f#fa}REy+ltHS{haTewgp?K<4Ui*OI6Ec?1y>)5BS zVobZa7u7X2JC|8&H0An#t?ow+?7OmzseQAaq5z>4+ug#FGt)}%E2QgreL};pcR~qt z%FrOKAJ3atHPRx-s1`F!`g5G zq+#;(O1qtoVHImiot5t7n^O)pN%j~(0LeM#NakP#*+5sAuM0uZoc;Ed>E`TZ?8ZWvP;v0>V^U8YUnVCf z`_%E5N%0j71tNP(>Bgq}D~F57$xex6P_C62N!aJ=O8u6rkuhbz@u2fd?&IMxPXM3_V&KV!7wn^cOyg&QeP? zy(0dgC6=V;@gg%W&YNZs@%Ob;KILbPU%rlBXM0e`XG`%|)MCjJpRVz=mmN7Hrl2OvGZ;&JM%f4VZpOEjHl_J0;=9UL5NYR-gIoC(qWGetWcAHBUXYD4iC ztuhM0ht;ODB9vUPVJi`Lt? zAyt^eG0St{{)0@xQsHk+&LsM$2FonTo9gO)e>_dlXWK`_UAz;#c@A_BMPuWgEbUi_ za+_nz3pb45W8U#|rx}ESOSM5R)!b|xZ_JyU5M|e0#@F7QewB?nofB&1BcSJ!}LwPnTOIw}g_*2!@Yj8ncbQUgz zofA=haaqnd-2~Q4v#R7;7-LsH2SrBfpE{l#=!q?o+>8JsUsdKG{d;$P$-eAN{h=@YADTnwy&b@b~ve`s0Z1y0U!RL zXP0oi>c05ln?OdP;4Er8aVZq;+JEAJ8pFFOgxo(~bG5}sU73YtglnBUYKR2b@E^q~ z@b~u~<98`sFOVNBUG6M=Fs(92u)Bn3R`bKg<9%Aa+DG+J_%p_Jt-%*WJ*n(WL5p7T zQLjT9bPA1Deei8|Dv||!K9wM_T%h|uU6}5h)Wk2XOa+D*c8yHCXp5iJeCDmnI&eH% z{JnrVFYg?h&p@-l5x1xWK!^x*z2#6{#xxyM+%Gv}8ewH$67hd}_ndUN5ZMO}{KF`P z?aZ-Uvw{a6OuX#QH>ph&Gka*+uL+;_$n&gX;8^|LyD5b>Kw&_Z@Hem!LMrKXoL>F+ z{=4nNqnn#saltEtu(8jU2*oKZFV|`>yRUxuM*Y@&B{oZ~8cm6&X*%qXC&i3m4F_$7 zh|10y`7D$$v89ARG`N^LdAR;hC!?#CO4E_lIAeZd8h`GP-tePH;o?(UR&&*2$?xAf zp|s!~J2Hz9vL$WPSy=YAu|l-+%C*sqi!7J<;Gh5Bw|=MXz@@k`m848fQy^F75~7MH zSzcaA<{i{IB41IdK!?Bl`8Py*Un+zc1!%rRw&R*l@roEO{^bi6U~fl|y&c2+pJk2- z2Uv8mfmty;-~AB-hiZyM$9!}kO6>G=vcw|#;??p=;+xRplrnVgD9;U2P2I-2(2344 ztGg+^&cTP_FZ}0uB$_6vIEXHKw3em!4Ck!K0h9Zdn!3U+_lqruKJA{j1EDQzm5>aD zpM_fdg!B7zPfQ#XFmnfTc7gBzoSR}Z2Kvn8xY((xoGr4zl|d}!Iq}^@?T^oynP!f0 z>#+ljoOylrlh*ti!Fl7wjh&n-U}6Ft#GMaJ&$6LZJ+QKpewS`$ZhkEZk;MN#ms|jL zqV_3r80pU^Ke+HTD6M&)k4?jyR{|xOr)Ck*`|0oGwqi~Iz9?_5+s-|l{gR9NeWajM zgt{bu)ifbRd3-W>&FQgSY4GD?;rM-I)i+=@kT7$0cUbK%PMOlwJT;g_IYF^AVvfzt zI=ypMKmDEh(bHz_6hpf@X5qtvoh?-Pi$DXZgm%-wE32;tL}{H z$Sb{xCJ+eDP$?9flOudbM<*6!&X9`46c$RHIB~+!^U(3XP6Ea-PxvqUeLpcv&ATjG zP_VHGtGqCzH?pm*ecPKqN=ynG^ju8l`Q3$#!Y1h8*s=y|@bQ1GL8`7(!WJ2}Ys9tL z?LZBt;o|+@lM4YDw5M5Mf+H3Ts@E+rjK{dbOQsZfWUXG+Qb;Q@TF00{I(*0;|JKUD!w) zsK6r*)od<%3DOMTgNg#^Px8j;r*r=(OXOYh=~7WM+2ZZ3Q9)AanD=LD!*5>lM*bRO zXjP?2ZN*}*BRnw~IVa)nU)is{i>{nvMPPu;JPaE>$d`W-NnNz{95m4?frDKI_)UL4 zvz)N(RuaIvWS^=xyA1dX5l~SEu4s2#1gN5{95SLB3Q9=!9@iQjc{)EQ{}XR-_Y2Ur z+sylMP`Wkfgb2v#ESSZO$bp7}R+^8;rwb$cI*!p`!cUk4<(GC<JaRYL-%{u ze~z8M^+#)hYJd<)O312UI2a{gly_Pc{azoJ$dewM{rmHR`Sea8>dvVCtpK%bdwCl_ z-IJFvC$_g3_;2F?3(yN>@bqbPCI3zzEnX@x5+x+j$Rd5R{XG2fqkgr2feCYPE}<~~ zW5>CWIKAwTcS?8{fB$lDN8xGG7{P>QcQpQ;LS}BeRyRp&HNCO{YHZeMP~cPkIilhX zYDV%-Tf@Dd-y)PnkSG1r3T$e#sPvO!CVk-zWlFG@~5)uVsdgE@_tFtQ%GA2 z)RUaz zgjmacT*<%(CFYsn7o?ErckelHxA$xJO6S{q))U7S+O&!M@$B^EXh&zi#I%{Xop7|P z7D6i9Pp{N(ua89ej;BCj^AF#8HQ;fY=LEp4mQX7oj&hk<7NDxLj(51`uwKzAqWfnP zRKEd98VOafxM(NL-p>VkSjNNCLW4yU_qF_15QIl8qUT4V;lwcu{PoNv{Ty*V9sc&C zIgOu=U4hd*`F%RAv=%{<@P(Tk$a;*7`p)+NAfFYvra7ZJGc#63S$A3LGNk}rh(`xa zT=c&p$|VI4O*wbmT=l-SFzzenl%;IEKW`QL30lqZ$Un&%<}X65B97}E^N?|s$o&wE z{#BOVz$n64Zw9K@Z+!zvDoBj$4PI`2>iAw&E9Q9}$}3xp@1{f-pxhKy&Vj=LA4}g{ zMhMF=I%h$AcuPS+VaG^qE|N#}elkiRJwI$m$NI;tw0o2EELlyHejrrr^wz@>0fBEX zyW89>-4+s>3vA>p^uIrI-g?eq)antUK+a{nK|(fyjxREtEnuf3(x$`R$#GLj%CnHd z8zga~JDZK0Y_%cqZiZ013CNz^M`<)=w@;9}+wrq004zBZIvqIl%_faeD&Reb+xzLAP%-55D73cC0j^oC#R_vPE4BM`2^fu)mISg;= zIhc6d(cVi{SSy~9Z>4^s==wghqUjLo20AQBV*H$QV6NIZmhZ&y#fevGh!7j5}|udsTeAmmZOL%iBA^kL|=V7}9=e^SkjFNQBaS z)B8s^yQ5drZ>@)CQ-%$ceLFPEd_EAxP*n5q>$L{Js2IZI7ix2rAj(p#FOxz3$VmdciLNC^GqcNqoHdP~2~kl|D@|U~ zN4?lwAE5iWzPR|GuRv2g2(96pTaQq`#!RDM@FhemUS8oDtPh30S6WvhFh!^2*(NSj zgEPYWTt2nsIai%;(dCmK}X=yza5xQh2~11N;YS>E!kM`0Us>#}p_vT+!Eu z*@vR=tFE!y03!%MzI|N6{=re-%EY9kuGQw&)+4N}tdcS!*8MCE4GmD%l|`P?9xc;f zf)j-5=Ky{rq8#|cYn5)&EPCU+&)2W0{6HXYQ8>>U+EbJj zhslnW-ce~XFXc{=^e-ioHmEpqG#cj_0V6nfXuyAdI|5<)ntw?D)3C5G04+J-AG|k| zWnf3AF&GRQCG{36(KkkMTc$7)o*z^VPLo9mvo6GHkkA9@bSy;A@%F|-g3NS#itG&T1 zwOJuXcBZPbvKym7f;}m}GdLZ)f25aC3}4$Jot1aoJRo?OEMLbVgI{aLu|17Mn<8Bs>&F*2=ctmm3OH{v-GOtxQ7*Gl&b;My>)cUCIyFG0h-_{ay1*}> zMp9Mio`XqtCs6LV34*1_UuaQ6a5wPYP8C49I?`dMr)@f^7|$sqc3(JX#<%xu_q)`O zxr-G5s<|z`)zhN~pdf&^tW0{Ocrx_3jHQG7I5XBwcpsSfme-tAeym8PpQP5T4eHl9 zy+l|ESJ-IGDZ3NAaq{%IqHrwbS&?C1+N`%jUh$cBkO!hbHINhVBIpTf78d9#&-PQW zRQ(*z{Q|VC;gFD&t2+&m;30_~z?SstsShiPi+(X%w>@XFqJ-tFQ0xz^L6|uy6+8|q@jsr|YpaB?fzyToPwzp9!X-_8k@{2Q{N|bDOpVE{yN%}& zg0qet?!Y?}F{(szaJv7}j7PM>$COdHFgm;)@olLaXZj+Wvo_d;>X;w47|0t>zpS5w zr9Ud=_I;doS<~YttF8Nl_-!`}V+D)eHgq4%7L!b0Uf8E&d>`;qYHReCeZamO>40R$ zK=2mG31kn$z*vC(Qk3(7VKNKIE&U4ys`)N8u8lyP3JdN!lJjfcfk_gzy!7y|tgmE}4*Rl8_(-DOHfJC^jYrw>=sq;b2}LDJcpt3}}jkWWiy(LzvhQ z`%^7ew8LmGM3N)*R*36=7jdDdmu+;Q+2;tBhkCNBRuDL<(7w|OVS$rnv`Ler^**~&Q25vauO9`$f!C9kytBjfz_ z@c{&un`uu9;bpc~@)tXFVoSGz*tMXM2ul6)&)@lY4(a8kc=r@%3*1f(*al7_G?V|- zZ#g^jqD(K7ud&EY`TRgu2^qhB6U$w?e9JDKHC<-R+2!vy9hjH5`@eEWlg{sutwn`B z9r8|-2NA-T5Fhm_hd|(*DM10C5k48O&XJ-)I;8{qDhmp;4Qc?cSNv!Wmt@rkh$~g0 z3j`G^1tmaABV^Gf8sR#TWCIz8Lg3UY4=chfs{COW{(aWs8yh)C`a`zDo3Ys61*Y3} zsy%9(uQ2x*HtMNX9tO&&&rO?&u(r6;c#H z5<7{vS#)C5vsZTq)miWATiK0eBYQNH8wlCxpVH(<8<_ljOs?^FlLa_jv4jpCXnyb5 z-qC)>9EO zP&1NVfB~->u)Pw%g6ir1eHJb_^|yv8Hg;tfGqKX#)t(R2F*yhuqNu$c(=}?oUGnlyG&ZW*p z*sZ9!Rmfm>i+VhCl3di`lE-r=nch!}jpaHf-4^BAXcOxzVCbwlA%36qNs9^f(t|9j zc;vTsy={HywIka5@XAeXZBxB;)uN$5CBwEvb;<2gihxemeMJPoxU}zGnd-jo5yGv~ z7?5t1D`-}}HCi7C%KC+du5Fq>uL8U;kyh2Z_DmV?iVCYFXP@t} z3qFvgdwX9E?A!j#rT8b@XjGCTHj_`8OC%>~YH3v&K(~OB5gT7`kjQSmyu$J0U4zyB z*64Oes7Bn)u^h{H@gU8^zq&e`8Q9&%o;lAx86B)#BIp*K?<>X-^m0y->0GY57RDNP z1qjwLi+#&FcT>wW7=?rjmcad>hGHr;oLoxtGuS$?8Cu%_BpgEflU`s+7G+|AzM|An zlKa`ZYsSN%(r#k2juy4nuY$nz$Fqj-0ct|R)Dijz0$S_MGa5KQciHsbxU zD4Itb_6}!kNE?8S^YC(*M1N}-qxtlCbQtKN&(C1|B%8Bzm}KERAv+u&#VK7fRtW;B z;*|R)lYv;lx)Tov55&fd{P2RIVvRi!?Dz$`{kx!Nn5PC>!I z%fsL(zqaoKp^TY7i@2aPbbmJKP27k8)z7Qq3B_&1Jtk|W*qZO5elMftl=6rp7cfx2 zBoW8ApLWi~p62UU==QWR7}_8}S!zdFj|;ggm(ZR-oZ<2 z*m!QJ#;w?+IYy32bkB@b53nwOGzqj@ntG1PSl6D6c3-ohdXTD&ef9k=M2-i9mfjw? zlPMBqb^%u7aKQ{`;_*WZpp;&7K4oUiNpA6!kzn0UGFlqd*fG|-;S88%6~;Q{O}5Ly zEEi?FB__Z;vXhGsW>_ce(~dZrnG$G5}X3_!oAsY#y@4alO55S+2@?yYt9bel4oT{+tp?GD#E8gTp%oT$rv zztoh*qHD=_v^F?n5`i+kSJ*h$`S`MGmh5+D_j!q9)12G%JD&<=3 zE9EmX_0akh>P%qsYLbw)X7{-yZB-@-QYX8{1vudEaCb6|-P~=PeKYOnmk{qOgRxL^ zcWUu|kSs2y!j0AOu(QuAiBQxs-t>MTHd7LMA05x(GZ3c&9|-nTWVsYGJH3#5yLD2i z=9J61~!!xO{25rMd42 zuFTeB<2y9Q2^#7%*``fT@&VZ0J1^kG8>b)$G`5NLS^KZA+&aqRyX%OCPmS}*nNc_( zGzwoE_|#GS>v&oGZ5<77jd(=$mmabRdTf}PPkfvR>hF=Jc&VJ+nbm7pOUtfQhCOGq z@T*d=b%1|(p#~{bB1z;qT@oq|Imvt2+QL`$f-5(hb=SPy*Y)HwG24f_;`d}(Zb;>O zica2IerR7@d=hM@vE?BaC$rtu!)3fT|1=z}AI@fBu8`ntsL8z;fiR`+FrX`{0fiM* z)6pp+K28Hk@+hpU1gH|pZP0aty2sla=$aRR>;TMFlk!u*YhqRAMq<1$ZE0t+lNP(`G>QnAm!^Zdf<_Lkl!Nc2cZ)=tR#_nBPShX9Q%{4dg zVzI#FW&za-ludR#8K~Bs%>o*<6GYfpE76Rc?I?&AOFXS0RR4)BfAsWAq+K=>^o!bg zZL3gSaU%NmhGDANbbV3nFRM-eGSr_CLp>A&GSNHH#RA#Ik6%ki-rg~e`q!8aS!mLU zN%2gE0g>KPyeCIMoIsYTRTh)Lupvq*gI zub25?97MIxY18~_j+mov+En7Lom4tp#L>P|8#2=HUFo6imrr3U&26u2=9<=uQx<-+RNXualF4XAt@cw~veWdV z#yi32o9M;{UXF2d=r~(OYtc}We&Kb*?N&^*V+L9Xo#a#orhn_pLH_%_AEW?xE%RMk zT7q~Hs#~nC=)jOUcwJ^` zTclIurk1AnN*mRm+I8dv(nZcnc*xhy;p)$05yblbYbJ`CmQsHr7XdS~iZ`?!SdrKKI8s}im^t`h6lpX{^@|3@<)%VlX zme=)2Qs&O^6LBSNNTDf6ec27$q%Pozq%~`ATGou4se`@Ovwm;iXY{FaJ9MYSTP+G4 ze{v$$r}lX{9BnA{6M&Hg`*i%vd5os0P!T)ETpS-B^1Zws=*I~Bq!()kZtJK18h5Q{@=f8Ujz)}MBLTb-f#v-Z3|?l{$jLkdh_T3lbsOrP4un?pE;q}L?bRD%{}Yr zWJdz7`5nrjzRY6}(4w#j0p`=QJ1Omp0=w*jn9JftP_E>NH#?&^7e-=-5L6tBB!4{B z9Xl}!nu9ww8HMGoG-WJ1>XcSDvK-rQJJD2#_RXgEQy3gCMGUJ>%;Jk^(_qnugIv4N zQZ01o0>>NSs*-7T4MKsiymxT8x=h=^C=IB+a{6V-5(Hs3gD<#BN0x-K9Tj21Slb6T z*$|k$GR%)#EmZOag?V+x&xc;bat7}eVxfvLtv!aN3yu=L)5xOM#i}%G#r~h2_-iigpHQ5o!C2T`Vk#eGc{yPFOm{b7Z$ z07)tx*WDmehYMCXNvKOwA6P<=BWl|@Z`1ugqt5p?z>jUZ%@T&y_oPfGg`9d(23ueX z74Q3KGRg{F16P`lOj1%MqkYyzKaT2|meHmrd$V6>ViF~Z3F58Jjp!wiCY^1p?5$kS zzfMj5n<(G+%DRCQ!5HTZZXdE>@Oc_z-Xs9wi*c6^zB5aBGi85+bgXCICexY>oV-D3 zC+F|uL*5!ih;J_lt;H`+6j_xlcC0Mrm6ed$O(gf{#j8Y~fQYL$>nGP3@9G+uF9df# z+Y}8QTf-~lS_I_vW}huBfUZ6Zoa?62?`#pAba7XIK`n@$K;@Qk?K@#!~q zUyxbu!a*)PX*y6anQ3zk3h_)O9`rx4&~J@!kO!(}fpv4#KvBkN?7deNlW9bz9gDda zY-pXqmaR(KT9g;Nrx@xCHRT?mzv(=!28ag0Ky^Paa)iw#m7^nVRs~}^xDs}}|7H+0 zVE$BUZ@*mO#HPnM+P`=c<%qKq>z21N1-Dk)$_EGHS?M_@ljjK0&nwi|D(f|0p4DRjKk9AV4BBYosxsI?jg9zg_QZNL-c&yzqyT>N|G)5FroQ5V+v zBqIExg#3Qw2^(esgGFj^HO1%15d2pW#yY9HLDk^tcV*=_v}U@)g??g_G=uy32D zcPGD{*})1bHz2yzAibLfxLY2^tuV~Gl8a6&>aRY|px`)8i$K$0=ytXqlPwg^%eQa_ zW(jySL(zMOGf?hd3ct$PC;4iTlF}(lVMXO@;(pQ_W-Bhk`f_pke0+G-nuwDp-rqugesi8+q$ ze5YfQlX+12WWB_mZ6Ep;wQ9LD+~KwmGyH|!pe7~_l&4*l{8hisN54qWsT+N=sL-xW zOgCj=B41}^c8@t}e0D6g2-yilkSD5WADvO81$~YS7q>pHy=Jxi*LdqS< zDd&hSC?u4EU?@}*iC%Y~N4mW>s!$3x8qo#Slr*2{wnvA9-`cECtdJ8#NA--$7)}oc zHeWFU18cPO{TEoTTci%TV###-C1g6~_tc&0qwnvAK08I45tW}h5O~zm-ErhFzZp1| zFN(s@O%C9$1yGaLHlapwc zN0;ssN1ZlSeGN7Y&+6^PwLpvmGc5{-SR7*RM}8Ji5vauOda6I~Yk{+wn|8m$Qjg6( zA8JvT0&zfvg`QSZWpsiTiVlF_bLUgHMqGm2`!6*iunC_^L8^NM!^#YzKROxlMZZ+3 z?+@MV9pj@B_q=v$K{4vpg)2xaa~+yOpLS#q=yte2i8M(Xsu*FQkl$)I=r8vSY>89_ zu(OBgyPBm!TWeGx&}lOOtxrlM*(HDMHk8^;G!rEUhjYdQRQzNz&&qG$rutmo>i!xj zGG(CYq&XXzBYE(DtH1nt@{d0+oji5$o`wREN%X#aW%FTq)4y$4L?c}K7+7uGJxp2T zjB{rf?IP&q{(w1;f2v*ma`qq0qx+{=tGjg;ZA)b?3OuG!9J5PKSuagb;h&yKo|o#Q zRW?YNkZL!#fZBIxtzy$41c>z@k)lx6r8Oh5p2ovy)75N5>Bx?+NHWs>B&rrzI@7uO zbvf&|I!!rB=4{_JhaHdyAHg?^I^=8Bhr6^TSm+ODrdOkNHx8 zcNOvN{?Crl7(2|jKrgvt4c3UiI9@8^xL8qyTfAO8OK`|6Xw!y;TUL2@=bL>VTB*oP zQ`Z^(lkm8Wx`I={kw>m)O>k}ByD7>RxO@FqVX`00u-7Cj+-pPrbvRcN{x_7#h;814 zuMm`-%`kyTxxCWFv?5~s(nk>gKqo$Qkpvtj+Ex(D9Cst>y8q#Nc>4^vWhWdXxHM(@&I53sxcwS(gVb80lvmPB18;iOS(a@2XVIYV!@EKo16Vc6ED zUVvD^1!Y}_O80okM|0hUY5X&H`a)e*G>o8OXU&8ErTOc-XREqTUjLT;#^S_cW?DiS ze7T;a*h#~h+ZuyU6$1P(OE1?teSNfO;c~7}v^Q8$Ytfq{cBv^_a3`MRF@Sit`y+y* z>r%m@WDSO}Hb;LRFB4KthiZ<$Qwn>36>~;4lQ2O8=Z8EZ|A|f??-KbW$C81Lj$;OE zpwUNhM}%!HH#J_ggu8#GO0;TWyfvG^4y`2~fKXQuRWTw3fZ^uaqMJiNr<<4sPCm!6 zYu>ZHz1?Q9U0cB+2iN-_%k${Hb%XkR#HzWTU*+{Ud;W8ZV4b z+b9(a?Hu-V`Ceg|f$B3S)Mkeo%f5NewxHKnK5>a9x!djmC=>GM8zm{I4K|{!1fX{V z(ismTb_060^Wh~X65j$X2ndOGyEP~xGCeofkoZLkLIIoElI1FBmBS21I6XG@|8e!z zVNq_~+xYTR-=i2DgJzDRpeP_B(%=yVkrEM6S`cZ59vVCz5hX@Rky27xq#GrryF(f2 za)2R*`qmy)c)#bmlz)`jv!A_J-0NQVA}p1B*Xml;c?PG|L}w}^a@`c|)!wCTE*aIG z*P-V1kGyr8|D$+qFI9`>8eFx7_vyq#hvMD-9!la*i#?GlYIK!(;MRFu;0d1bN#F28 z>n7~?^AdXu1xKQ`!kTyQ+Oj!;*;bnjXvznh>twu1$5Cs`n&h4~Yx+VO(*wIup`MUh zF!Lfl($z5%TA6voGP7!-qC|jD+zb4I`BK%~iZk@Ya3d-@s68V(G4P#~l$DP_;tZ{B z(EBfvpPwI+4Bqg1L2?DeTs0AJaG`@F=i#@ ze(25EtRuI7GMR0VRV6EWDguW#QXbrQgK#@E#WFgMqylp(Bhb`T-Yrn2}NIQoH$4HxqoCROE%Jb z!z$R}@qCp)rRpOE&p&K8SZi7u_NLXGPa4ma*s7({Gu|}A0oX%tt^0jWQjgoPdm5zN z>O`W&;e7JU8%vfy=ZK(J)g-O@m#1CwgcfftY{5)MT8>NqM&N+f#62EdovKMA!53s7 zk=_UNQ@FNQZ6B)lM+N%P#E+;I7^X-?Rn|MzOtSov**u(@-uqft#d$P9a%fO7^r6N% zJ+WR^e5!#tg!6)nF=u>5_$g?Vjv*9IZkmDVOE3x#bdZ6@QY^JV1u z*l1WgB_67Z&#C=qjNH|NpD|LROmB zMuR+ntm=<|n*S7JGa!3wvwp)k&uc9OnKg|$tnD=(*rP#o_AdcF%FN z-K}y9yL@(II6zX*RNl7Rk;VXKmP~2PugiV3s-SJQ_zuHeP_*jd+Y+Y&DrD-9^!@y^ zpRt~;h^u!2uOXBoo|tqX;Sdg1_!cP_A>EQ`)^5g{wAW~9*4EY6Ri2;}L_jT5T4&~Ko%LLu7DvxxpX^kpNzy?7` zZY)YxWYadRrewVI!Z*zj(%F9PL0kIx=tG^Y!xpIwP0~*w!aFemazMt;6UvbG8d~BZ8oY2qdgR=>bk!2R0@!QI0-bJ_B;h&IAYTF{iQ2|3qk7Ycn=d|8Y#G4zNmLKZS?-r$9Pj)~d z>J&d+;t)pR%}Zk`?vvah!oopZa4yu=>iOswX6%LYBZ^P>ClBSeMhT8A|FoI0U^Aip zda|iYWgOIW8^>wx+0``l1NQ`+Rb74qs1itHdDR ztT*|^VAlg3!Cny>BpWaTO(*uPp#w){=6ba+1PW$mC0PUB2k7E5qB5X)6rjtT+Sk7Q z4r`2wXzEi~(Od9`RPMoZD+~l(({$rfU)6B0*Nz@Z$Zde0df znlwH@Qbd}wj;f*yO_D?i^zwGDY0uLNSr8_-p1F_S<{YE4GBj*iuDLUtY{i}d%gYdZ zDi2>w`V==m&J=|m<%11lCizy=t)-x-87fn~6AO}a6=%G~x!1#J&TGD^he`||jVV#R zVeKFvN-z-GKokHXo06)kfZ?-jJ5o2apEraFSt6QMyQ($|R2jK&*MD!7``_O}Y(Y}E z3_7POeG^`U@KFGM`_pdrH>?ZIueSa@Si&CZrO2`sPVz~SS08=oS^26GqR-EYv!p;{ zrA>YnrFSi-{&9>5Z6pI=lWTe0z@Sf-{I_ z=IV|t(<=%7kd4;j%jXUX<3G(U=4g6!&5X~Gl!f(f;BbSWFkSy{TV`F&maTB482vK` zUs=2;G`f+yF&xv`#lg^a)vQPzThvbPzVpGW5zLS%5I0Yy<1<|CjxhwQhTr%P|a7-?v%8$EA|@(mp~?=-G*0|W2D*YWYzxSk(cr z79w~iPv{EET^{n%14S#;l}^zWdadW%EoMi${X~70uQW>{XE0DnQo{PTVAVc01!}7?S&Cj z6`c^4@L^p=dsem91eB~#U?Rm_H8kv(tAmSXo_>nW98VqVp3`B!Pih@Fz7jPV0(Au2Qg<07hnS+(KmiNfMO zYZRbwmv>h5 zUAiSKR@Emgt4};DML2mDf-=>19#j4dW99h*;h-xp` z7vXB&=Z=J!5tBwm^i0z^i|vP&?ORXO!w`@fO&{vE!Cr=G{05Y5KaUZj1!wrT%Gr|2 z31%wbBZKZk+VWuhh4-H95qk~)B8D#A(zcEcDKj&(Jd^Fuq}h*8kB{?ogJ4(pen!L)t3i?;#QbUEm(|Ns>NsuF@o_I~ zxbuxX6J8pUxf^GGM4pg;vPS~;d16oV_Ga3WPpnLw@eO(9s!+4#r$P*1L+SYPcIXQn zdt~6`mb|P2ZEH`jmWx6n=6+%_Vez(xMOCXMQFAgXrGV$;N!Nu?Gt1hHZW@Qr5q9Eh zX|%5%`n3zLH=@-+c)W%!#G*#(*-s}TXCC*q0 zaf`|XQgheWvsF|V+7=c$i1pF}Rehltd}yQ#vBC_KXCP^_uo(P~p-jbZL3&kk^Nq}1 zl~!6M>*}?iAxu)H5u6r&u8iA_H`HNl3Od4$4P#0wmLOBoX8m52b$a`2y6?+a?m#Cr z;{)>he~BdJ*i;J1c2sVXNpWLSy-PZy$}D2Uz-K)d%_}WBip-4`%(X*h?h<%seKi{N zZP6S2G&$MF>>?5g__^T!?a7{T`yi5SD(_aeS;sfQ7TFjZAvtWxet7#OazY*f5#yrV z#|EvY*8qUNEM^gNLGQ3~1wMJbH(!gmxVg|}O`KfMWuf^u{E%k2(rs==eBPO8R2J8H z&zY41JsJ=N`G;NNDi8~;;vWrHg3vV(@mPO9cV6-z3f5is0QppQjFxADKe$zBcPe;L z=KI=do zH&QwG=_%fj;LxwVYxB^L&&~HS*JAzue&klf((oA#`a~ygysN4E$m~ixc1Y1}CG=jW z!&mBX*yD<&h%UdYe9J|P(wikW97P~LM~VAZpaCrixDlC)MhsZ{2;_b}fIA)2?3bAkGKf%$blekITY6k_0BJ{_3B2j#QnzDIZavR7 zpY$rY8^6ifNV3fnB=85Wzv!a6ppnu&a12xIB-yvJR=QT-G|-E|6yWsMdX4<|e7FB` z_35it-8Keo-&gT2;=+-|C%}oauqbX^iYmcfv1arw{A+GEojSTfX$sn%*3CJDFTl6> zT-x#RSa+dC69k?sKU!!^dB5AjG(mAIjuZPI4) z;_H7=>6F?mlBzmcdzd#@o9mlHX{OTC20yT+s+WjqNu)dI9HMao_%C|HQ^J$Xw(%EP zxHoG3)uwm2NijyOv0vh^Dy-;;7_}8@uF$bRm(?E*RR75-IjfdTo9iIaZ4hCu;}txj zg!MR3ruO@!UWqLj?=aOGUYXiWNzSSD?yEc16|6kZoqP2d)7di|y=3mqBF1puHcY2GC5spd8OI&s`XuQ7iqR?)ms= zjA8F0n%SM&X8nj+{fJ)Gop`vGh}-b{IrbKm6)R*v0)NKfZ&Xw(O`6xhVb_KeZHZO2 zkuS2QWA9`D5L`LR+81EFr|=f+>YI*kUdI6eLX%fVRhRW9wvE+J>)Q8&V}b`-2an|S zJ?=*=2p#R4p?49oVQcz*KPh1}#;AfvBnsLD!}uECPt6_~=lf9cvLmtryS*XqG|Bn# z=OPAMf*l(cqF-2!QHC?SKLK)q#(Z7&>x^aM@~2i9d$2xmL|u1yo+V`XQ-oD}79`!h zdVNf;tj`K3ztFF|X_T^^Z(GmRQ@O-SiXW##d`gd}w|f&|LNLWX_O=}B4wDX(sM^1m zI0vUChD3_pJoV@AJ#jy8W3y1@t!Dzzj?>?I6AWPOdb`?>%x<*v5sM2tDn@Q+cgmll zwe0Q(DRYT0m*}+K=NsMj7F_Y?B`RW`Te@XlV)V^BW7WP|{QBd}kIw5VWy{`7=-5gs zX?F&V^>198fO5*B;=99^J!fqp?uWV)EMs9IpkUiQl)B%ucqG|J&R`oF7*-xiie#c2 zjc7ld#h zqjTXo=+a20&-jt}KI8%}t@o0Gn_@^0a#oV^M)Um$rZ6z@^A931IS!?B+yuJm#UyUV ziFyv=Tq3yrmOGrWo3-0U_Al9Ia_6BN)z{mLo0)+nd_8^5*Eg3K6mALD2be3fNy2v4 z%Hj&)!zvNGbUrx5MRRZ$IJxwFOepG8IeBvE+@Y)rrb9-)UwkU8R3G=xRm2&JE;dFH zyCl3KQt;&vE=YH_mU!luX=~3I!y-!$BX}C73yZ(dGl+}ykJ8VYJlu?s9Zro=wevsP-mH z$P7(nsSmXtGJUZ)uwm8NosuN+9N$-PVq?;~>}2qK4)qho2j7)=Cl+|Fg>5{wQl&Wh zm$%h{OY`(q)wSX#fHB?#oo^g@`k#@;1UTQ_pz8B78}Lvo)!zq;sv3>_BgA)B5?f6O zA4}+un1wnKMq*1?dh>^~eY^7J1Eqx;)Z1SFtqkdqXnMxc;8ZOPPP9`A(9q0>%1&#Y z*zAg4Xvmx4M8EXq^Om?k&}>nE6dUm>j)HwMPuIPkw+)z3 z1zfM~n#lcH&o=ar0N(TV+2`5=?X)Gi!#PjXO(G{8ny0PvJg?6e)$maTsB8O`=de17 z7iT_FwplzqoI3we+;%g=axu4(UX$?WX|x89?BdkXXx!=%gvOn7(wY49EMKp6q`1v` zB;qcny*&?t59bCgzK2;L5PM8jgElWr+XMYa%2WE|?)eejfiREP0`VuraSpPg+1VWE zE%n*gHY^WohBtT8@j5*+^JXE8S5VzjIAk{aLRJ;)siH1i3nf!g)d{bXO;QH2!~k>q z=bj|OO_#HRo6h$|rZ%M(;5d}GvJ2f2$GeyOgIEy&e&^rIGFB0V3JfG07=&>7D+r$* z_~9W?4n>Pv%~y1AXpl|?r8OBZws;Rf>>GaNP1|?i$~A;*TixXK4ZA43G2{}hhit9> zeW$jLky_}V_ehD@I8{un9$B7{G;8(`D5!tzkQmL8zeL=D!( zo9naEl9G~;6-mJlkgbvih_kJ|{W_!xC|iK85NH}J8UV?;Ey+etfbok40O$WczXCx^ z!KT2;J;U@Wey7letgo*(!(ic}qN3*heimRlHa9oZq6R4+CIO`B$pXI>4bWOew_xk} zfMt7=G=$%Ho7cxrrPGy|g-etXo>z`!Tq_?hwa@+>S&+V>Qq$@YqAGz6wn@YkwhWMk%N)ob%;dhj9dW zb!-toXhqDHN3MN|jAO4lTRiS zlE4OSx-R66C4G>^3^*HFJJ0+}Y`#rsIfWMI@oWZZ)11kU0GZP_GaB6tn*HOEQ(-u% zC-p3gp&4B~Kagx8ck%L2f3#fM0*^B6Tzfl(gn`N;(3Z1wz&_rnHSRi8P9RY%I@4?4 z<~6;-H^08UX)r7%v>;;AvqY;%oVEWxC(!z=>|IV2U$nj&#-EzrM$OZSR{ipUhJkz?%RI5F%Jog0yk*M+i>Tik>Bd=3XLZi-v+B#t#xitlyBf3*uzSm&pM-+!rUWL?W>`{%dx*NVvRvBN z=s9`9Id2ke%au5A>M+vCR7}V}Ec5*RW+*MJw{#a$j8zD-VwoW!YM{7_d2L^luTt&1!-sR4VClSrf|sLQjbZx%i*pVe@h z&a#9-*;`}o4;q#mH}(#oA<(Erv2?X)#x~8%!(%XYbefS0H6i?ZbS!!YTItXdHtbiF zkMXCr-wMa`gk9h^e=X6SOS$@GYDTRPM?iAt<@`>Z1ba|W1gO)BHS{h$7`yO+BmxCn z#XVE^I-$Pc&SDY_n1=oOq_*3YvK=y1AQsx_!vt->75J(WvAnE4m4nqQ1SZ1bb!Ea( zf?ib3{tC3N3w42)K}a*20{mX$%1ePXa<}z4+`ry)=#z2=U7fyb4gawT(|MuV&w}gY zy^^xH7zAy;frOn~d%+@NcE;yWvIZU905P5dcmEUf z=mjAQ_HI{$zFf;EbN6@_@;i&Tv-EZz4GSIM%wWWe5Pcvysxr%X9+b+vI&$^D9VJi# z*dKqwC?k->kiuYACZJ8R#R{?vsN_ZVLUBtH(4|2k5X^!>II6bZP+S4<4I~uyyl?jk z2hEEF7N#9v#eF>|HJW3KDrru#5VjHv})XShT$@7?on80lEWTfBVLGNUIxbt4991S2f>l zefPJz0X-M#yK3m7p@_6#ef#70Y($)?lgBkadxz)}d;F2Qg)1QBl}O*cpISccQf}7h z%T@{?4!E@PG(D{)=qAi|P9L;8Z+fPS|091`2}+!PJ*B1g51nutj!Wd+$(05xXdZC0 z0WU@Tm&lu4dHNdqXBKbs1yW#~n&9HU)hg{V5&j-2z2u>pRnXT7vATAGon@$kT2QdT zx1@A)MPie~(aDJbtiOSoS86(}lcsoO|C zk&RX8pW73d2I&#|112&+2gvh@iHY~AslLwQn^9?c7i598k^}R=#-^uzz|f=l)(s5} zUBxa=rhU1*NYo2RNq9Y&Vjz|M>#M;}_a_~#k>vuIer9b4=#D0z8zuj1nbl4VJi<{v z$$mMofWmpX69a8cnMV3R-#|EMjQ$D>OY>l)Yr{Wz2gaXWc*xM@_!t5iRN5K>?&Wjn z{1XNGV4kOEFmo>>ukN+A{=s!k=P^l4O|l+9wIO^4l~6>?YD`Z9qd5rk%n5$7++UJg zb*#QUrK_YXS*`$Sto^z$z6Dk*sM9F1>71FB#nR-Wrlxk=c-tae5$Y?+I=A6SBImlP ztD*=;Ldf|c3UPQp-c#9%L~o^&?KarS1(#uJ0XR&OH#p1zaG3w_L08fP!;2qCe^TUv zflP{CixzTQ=`c7RMk1(Ry9Py{3RL??S9S;nf@9HS$9Y#Ya-a_+r3wZItqo1qmWgF{ z8YaQ0&W0%7g1`hr1CHIA4>M2|hB?fSu>5fG7TR_OGza=!)`?lq1ga#&KMFaX8#^22 zKe3;f6>>!PTW;k~Gx-rZH7T3w`BAu17KVbfhjGvF&??`Wd}e+MfKywU9mx0 zw<1SL(Zc8gWU!s$yZy>d z=Dw*yj=fNu-F4=;*Kq2G-r_ykb|KJf<{`f)=ZJ#fyS`&P&)eUr(K!;uxsR0BYV{hW z-STRg-OnDV0BHOV%gQc~pWpn%RwWq13nSxYm3Y+5`Yf((33GkGQFvdw0JusQ=G zftqHj&s3|r7xrC-VAV>MegU>vd1jmO28RBx^w>5!w>)Fb!u7@YbH*Bz<*%|V=Rcn% zrjMsoX3=NncW^!D!a1J@Dh;swwgL-_CW=3%aDoyq=IH%&^g4=A!Y4hUz{(@bcrI^wY$0g5G?P~;yfLugU|}-C{iY9XI+<#_ zT)%^VeH_)t4#1zMynNtK8+qWj-4gm`nq#Vm&smcVfXoKc5RGWu@4J+Xn_S>}KO2$ z`e&ESoz7>ck*}I+lb*h3wUxUh=VH>P=%jwMidnTX2>s5q^D^XU1TTl_PENJ)wS3Ss za7!*MfR;d+XLqXFzB~nP7#WBmAI>Vr1r%JpPS0-~@R)1IYUm%qt=@Ef_c=; zNJH#N7Zq-C+rC`;*#Mv@_m9Cm7?3_$T6vxc0H(Fzw=CT_ONk`pW%Uo5a%rNZ<{y|g`2E5H9AI}< z1L%W>mTQ>bv#PgJh?$Ila&lJZl3`82S$%T^F8+FArZag1t#{p3rm%&sqHxLEM9Gru zBob{st$1kJ6|iDDbvIJNz0FAJDvwR9ovAu0cC35x+P(uQDO}XXLB5-JRqqa76v&vD zz+Jp@l;Wo2o%M!Mb@Z(0*s6}!oJ;dYQu53%(-6HmIKJ@H|jQoUg&HF0Mv{s1IO~5p`=W0w(b#O z|2_RSO!Q_}1$iKqfu(1kzC;s`nL`J8x?yvaRVRHLkik#{Kb*Rq1b+yYjyzK_Zjk14 z#5e8vJRN_fgBK%;T_H#gEMTOf`C~~D?55OFTWrtczGCMeaKJ-oQRX5euI4XkE=3n+OTZokWoQ{5dn4; zG{++lBfm_txNiqAt|LgUs0Rh4p<-=Z)v?WGjq{EKWy_&Hjv=;4$IDQV1Vmt6-~7K+ zfmka&UU5rPlRT5cY7A=&^SOoyMr_EX&$-8srIf^r2}iEoH?HClTdnQ-I8>HCGk6g1 z%aJO>g}lIDC!=taY_ArkfZh{Fg5d%!A0BRjK#X0wUm?+gfAj01krp`bO7x%a#E$vQ zZjN>=Z@8KJc#t*Di)Nf?kSO4Vvf5$2D*Fi@DrRr5cwgU0(G0P>=HtK>HB3qHO{-(Z zq(ydV%y3@#OE|KS+i$>k;mKUP5+AW{0j3~A{Whh*Odk@leau}Gvx>Ui)8mnQ6Vqxd z5;6cue6alE%r>>2>fzK1my6|SVlZaKaQ4QKK}i>b#A-!D_3%lBa24o>=s!HlW9-cq zf1EA2R=@2y6{oriL|d=nNdtE{TlRp}Nky#g#x zH((TrElj;nWbvo4$uBrVCVW$jP1V$Qg0>aNS%!y1+gL&)CuPM(7nCQX;}FHO?AcD6 zRShHrk?0b)O>E>T+7h*P2J|O#Wp3oPv;Ee7skhO`hilNaw^wFUeH~_Q*EoU^dSvRn z@hQ75<4{79Z(8^z-s3(db)rlys74>Is1+=8w=6T~5%iuxWegjejZ~GnGT4HX3U?)_ z2WJ^TaZmw)GMK<6?2e4?PA=2&S!b0cZK!jv&Es;)L%G-FnXPN|h@%)ajKoIwVi$;i zsQT=2zex&~_Vr<4Gv=#zZv3v4?%aHbphhF3sW?b4gWW@ScVxekz>56%C^{2mYAu6I zvDpR6h?xl#bw=~N6o4Y0qPE(yA4-}t+fg6Yg)kf3QdK?m^1ep(98wkD^&^|>f(+w#&& zs#YD5fI6&sOP-R72Iw>CdT*yqXYtx8a+^+ksac%9LN$a? z8tBeGhGt88%fggX6r>|*IA*)92bNtAo>jm^F^cFv8X5qK{4nVe&8NGgy4t+`HE5)A z2D>4{98Y#!Sd==i*-R^|YE!PVdDl|}8{!9JqVFU!u$d6j@Qh5_PWINERgKc+k%~+# zn9u=6Qv1rCi#iu>kZ(4xd{=~CC2&Yvh1YK>kYK>U@2Fww%3oJyX>Rp*1q#~%2z^=( z>E28KeCLGtVmiJ8bs^BwB2X5jD#!G(5?0@n@Iw zcZqS+NNG-*`)tgljPD)xQj%CX)Cwd*z$c3+rH7R_FkC`Zh!pnNjsiEFe?8g9NeyB* zyOA)|5bSby(FZ7>o%&K+V%!bwmAbV-TrfYppbiJDQ`DIF>!}978w4=JbE+XopOTeV zp=A7pcH{oUIaPzHNQmoVrG0!5Lz`b^WtZSd8dnzlCXQXm_E|V)C>`{p z%Dt3tb(P5@0HLU<0w=yVlZd0OQY90FI(j800j}47VkENLbB~uvwG7g+n7H}L+y(FS z>sA6A7krmL^zPc)O)yYTj~h4+5wpY+Mwy*#cq?6B^4m&$Ln#h@-VQzErTG7yOH8ttW)v>Chzb{f+ zuVXPe@IjO;(%W*VhAs+9#5W|6X{TRwjBxvFYbO09Od6-jRL7dYB;0R>pqoPP3elE3 zQ0AC_oav}NfSo1}q86t&p`m*VQS|upS+y%0GL3L|9XP3YWv{#HZS8RUImI{jrAs3E zHk#+}3!WCYU+6mX{earVH5<{5!I1B5^1>W*{A@oN$T>6Fz(8)xyz>tEr5b{QrOi`N1Ar& zxYe5(d3v$qd(wJ4RELMG`6??KM}Vlu-x65+3v~tA=`YhTR61b(ufpJRg8`scO5aF_V+#0expkZp#~RTY(0# zrM|~ICgqg6=0mX&&@~5nmrDYwNDx5s(;%jk@mU+lJDQF7rr`Cx;ws_pA5keOP@wjR zZppw&X|LulJh4*QzC@6|Qi{SU9J2%N2}hG=r(aO$x;b@cfIAW!fznFMN^{{dHZHumovB>uFuxZDOj8J7U;v~0yQqX)$2Kome}-uI zUO3+Ewa^Jy(WM`PQSV+`^3gjBM=VFmSs8OQ;1l!Hf8CyzP6)b|5cVnzT;IobwI30z z6mcI|E|d*w>g#iETI%OdC84GvgdXfN-HusGH;iY;@cQS3FMdHa{=G9(M0w((4BO&H zS8nCKbVK7pr@8m=1@w*gJb^^1nP?B}OOo=YAQ~D?<=!%~dXg-Q%6Obuoym?~#0fCb z0!{#p;+|~I(g)92KudzT$pxBZW-L>#dmXPp;%EVsGV<1e{c$rW)et|^@>mSBpu>!l zlV`RwJV9cnqJJTd`@9Tc$P1;XiOccbM+ln{;%5&gEDfr3#Tv{PH5aTur}48=TH4IO zjauHNTP)g?FbJ}KME#KI`0m{r1jhgKX8P;opQN5skBmY$to+%FzQ|jf1jXf~n6W-j zka0D_l6u6={n*V~dt=6@rxi^Y`TzP@c}CV^@c#b==)ZL7;Nu%zU1fXv_8-&v^$4M| z`4#)++>11$q{q(=Eb$sNtjalK_aH#k-BY)=MoxHTTbEJp=a$iTz({*tQ{G&(y2GtS=DJc1ywG_P7)H zFKM%ET6E_M7V%>0ZMCeZu^q)T5pu#$n}en039scSAhIS`(rxUWcKnNpN@eBQh1ggL zEdKV{^@h46roj(^)GjHBeS0k)25Y;n@NT}@f;G|DN1*;%LrLC0k%p`T?~oRBNeGN7Ze|6sJsx=V-+BYP2#KN1Xq9*1;&{Ry9|^8qiI zUa93?3KcjEk^)TseFd{Rj(vsBAdwkur&_L@g>RIq@74z~C$%fuRW7m=CE(sj->o`L z*AY9g%e}0->#nytYd3u-j~1qJdi?y7&=t(YK!JEZPBdI5=|L1FO#6!|R@cO4)=`|K zP`uL8#^iEV#_wL{d7#)PCVDccUXFpy263I;{?#yrpXO+Q#Os8VL@)6w6| zv60+{^)Y+~ca>qbUx$b`^@R(7iEr5TH{_DPWu@CVsoQYSmgG2EF9i5mMebR6H6xg@x(kcIETGFj#(A3Plq4WM%UgW>KV#a$m-{fU7UBjHSnOQe4vKMX3Anpf1O+At?2C?z z8yJ%f*Nk0WnS)?_&!NN@U+6mF5H?1sz8u_KAH)Oq90;3eo7Ue11qEH&p<(jXY|Z9x z6ZY^tm=iuuWnndW_O#`aY+6;_(@EXo2H$8h|2dpp`CxK?$ejL_H^LqL!7}j=hF0O< z!gKA~g58W~MA78!+3%t8F|dkSRl94_24w7;3xpbv_X$Gz>&$|*aBgluv3%|8UJ1|q zeC^a(mip=rGHJ3^9G$$a$6c~3BS(N$Gi0McMEY7?2n?`sw-GDJ;Tz$;kI9kf{Zlhm z&&jgAGs5IKoTC74>Xv{78>y;FhmcH0_F{qU`>Vnp?mXWnC+wpC?PIo_FkhN^T?{p> zpbixs(3D}^*D7hoZnY0OfA?^ZK+}GM@#L>XP?dfY&3w=0=-4tVSDec&<&!KU@qeW< z2?YV=+Jzs)9&u^VDNfCZrdExOLAyHKCh%sg zRpjplQH7PWI=|=lZ|Lim53!*VToKJG07hORcQJ8oaZLP^S+X=PvuZGHuwCHUu8{G2 zZrbeO9()_E5472kOMK}ul&z8=V5}g-k+@It_Uu9+SFhtx9-UVLt|9C--ZH);Zs75M z!MIJLs<88<`k?R+!jlsBFt|Aw31EgG$f9m`@(|QRYF)MsyM^Dx1ZTxRr-8AhDN$P> zLfw>;?}spALj zpSHFQ%%0Jg#-5AgAm{y3X75Re3Nz6(S0czcUI22&wekmpvEP8(P(7FITDAi|zr|h4 zYKG6wK1FKCRW=!789jb`mdax8UQq^Hs%ED6MwM5Zv?69xrK2OXe3W$%X7+6izAAlw z&Rm_gXj)x)_RcYd=lSWa%Cl&@r#f57Y75y|nIeB|gr8$H50}Oph-2!K3LhWt26>5Z zuIrs{V$lCZC;9B4kEgbeDd-Y|&jU;lMFEFk7`GKDDuCMgu=qBvBPb)bd~54^9b9Ek zp|UtH4Er=}kX_MtdXn(eMKi%R$Q;7~+2!?opl>H8KJTFoju{+hQxtDKCStc3H;^~gLN+wL;Bd`u zt@H8~xi^>2q7h00gU;5V!{ZTIJ8ae5)59n*V6SI7P?#r2_b4stToJBr$5w?^MNW8| zagDppJ18rwXjq0o%-;`+2SANP~qR$H71ddD>*7w zpmjsyP9UC4v~H!mOXirakDMf_=@0v(663(PYTqwR=JIdgZxt(%$%f{lzkmruM4h-q zBviyD5nMYwG#sq$%fR=j9KhBLiBy`No{uXSb968$kNcCY_t?$H1iWtjmjCE{UFlxT zew}Aw=4>$CaHguR{U5UwqTA(}vyu#gjMI}dwK2-Lp5*s6hiYQbO*~8s=qWq!;^6>o6 z`x|@gy(il|H}x!7KI+=ynStde9NFbguGuF#a%_W1LA?=Zx+2O?1%TI7X*U^>#9yQ^my$7_lm`j7F;8D5BoW_ksUPKbmC;%Kd`S zQ*%Ni-9Y>XC+d8D`BEI#9 z?-IQ1rLLw&{%lLcO}4rbyPCUNHDB?rBiRQiqs~Q;0U;gz|dq^hLduOKtCqhP&K-DUy zn?AIspw^{sm>` zk!zx2%|dJ*Y4w90I|!kVy9xCD0?NZtJQtW&_`uY7vl?!q_bd!op^(?c<0DxkHx}Xv zn2m3kA*flVb>ZCam$?S}q+jpT@lH$uv@S2D$U+v+y@9E!0Sv2vvCe^CKLU zxt0XoXR(L* zQpa?vU!K^zQIxhfdcfTDT*{-K#Z6Yu>1}KF_M;f(_!p#Y9V3ULB#w8@qMky9sIOl##5O8yLOZv0qp4pBGxYf7Soz4cWoe#x|mwbZF z$0B{5)t-UnXpWppUtMfoqmXg*r120BH^UL@DjLqEv!!lh_QQ|mgby4sZ=i$^79UcB zAlS89`J`lBb04nW)%4fpAEjH}d^6Hd&;@I%MLO<12xar#uP^G~41+639P;9kx@JdE zl1fB-xb^rp4C$LScL#1PX+`iBUv3Z+f&b=SlO7u_QoLLqv^?I?VHIg5=W4xnme{^u zy5gm?ZJy$;4ar8}a}~{pw27!ZRgStaQnMBDVegvW4|I&aV0H7ml?p8BGaSd}9<`fA z*24viC!rl^;IU+a_om4yq)0|zxE)T7#k1O<303mPX?GsY3&V=<{Thr-T*s$Py*P)_ zQdc6V#dma;Z|3Pb_qmMUBd9es+L-1__$%};=RvRD7m9!Rpxx4Ytb#=`cHj#hB*&uD z&TF&;$ryAjpxb>0Wp1GFe|u(I?v+aL--rlEkn7BW7pi4+u96FH>fI<-e0tF?xW=VH zX|>US#wSu!BR0LzWsw?K)rvA0d{ zhsea=Izg?j4)a3z8ga1$3~p*>a&K;dkv) zKR+J*genB2ZCi684Sdkt0vSiAM*rcwuu;LY7`TZKXEbITew{X$(;9h7#;?1ylLEtW|wmGHE}I?w?}G2}+t%8hQ*E zphZfC5o)}8w+|Uy{xDomcP0&4@a9nH3Pp@(RaI5WuGctJG5r2`_s3&-bosi3r2Yil z#H1B(t3V`mm`y}qKW$Fx0CVHiI9xR86wZ_4wj&>w%jVxifBJCz&cDFW&?}=3$%N16 z-TM4bH!ED4!33dqkD{5YFw9=oHE5&suDpEt!a2spvZkmZchdL+(r7Z}D+#imO635}LS=r=`8OOv%_gOnA&-P(DrPdpULYu^6YS z*5+Qa@kIDUoTZY;+UH+at*==4WXqt**-MJ@Ma^_~CAt|3mI7|i%7trSp6pePA9$QY z=zg(}4`ws%Os7iS?7zMPIR0nkG@Ros?Nq0c%e^rwD-xA+bs(}pn2y+;@vQ2z343M0 zg9F3jdj+K^nTx{uxBzfzYbm!4Sswr==At?EK#LCf{M7J)*D`wt6y);`eeK%W-#CWR z>g{7u6l)E1j0X-;!}&qygBO~z76XQS4b+F6Cher2P8nanRxYxKZfNF<9>MP&3A~e_ z0t*vsb&RrGB})6?8Azstw4}GK(fO_qC&G(ASjfPDJwCB2nH7ev#0#x)@-U0&Fi6uN zF#F59$jc(#gZ1Am+_-Y~nQ4Fl-*H+1l=pO)X_joM(t!=?O&zeeuj$ zZ#2qB8yILKMGPK(Pg0oaym008XntT3r{<7 z3osK07Y7mKeHOYfRfr&^he8(j`8SU00dIf^BU4%Ju9<9BDR#U{(BNLmCg|;0)wfU2 zAP{j}vPECDdSFHu>pVVgMpR_N1+NC^S$%t%znmmnRk>SoqQ+&P#XrIVT%I>>!UhqwfH&HsO`pf+gMa-6`SMM4coKhRlR+hek35{84W0q0y>rWc7cIjCqMsYx(*U;ur>hAd;0%snauhQ+S@2Qlj%YcGwb66Qo4Od z`EuQTHgA(pRBd@iTI}KER%|sTa{2KHwi96=;aBGo_VM5w#cMQ3>y|11;sO{#W++_- z(F>GZEP<5CY9(q6rBy^R^hhE{%JLLt_Hm$Nvh`3mHL^~6W@j%9{+~_V*qhw%pYy>? z#>5AlA}&qhDgzIt`Rs;DhQZYS1MPXsJ=dd$2IC`X4GwY!tTO*~nkAIA=6@_r&UDt8 z+29+51)l~i_+D;#>2Z!o3gSczRzn zx9qlw0RXsOnQuJIv){>4Zfpa6MfOpyI?+F^qQ!@}N*pXv+^AjHUPi*X8T4k`iQ#tfP)| z8`Z|}IX!~dUr-HpB;auh8nf{9i!%7G#GVQA%bl#~ zBs9?FNaJqLnD`F7>`7dncp6O*s66ysqhV0Q;^KJUB?vOt1-CMC2hjVen1*bZUs0yW zG74a?XTgsECYa}>R$t&juL9o4sxZ^QBB)tCcF_qZw5#69e3MtG5PuJ&R>D2 zLYp;@O+|;9SOSha|Lx&=wt9x<63WdU3^9mckh%Rg*33U0xVVxYG-sE#W1&(iV&8sE zVofFdqO2_13a;5Z&J2qC=Vuu;J3e}BIjV>GQlEv7u7-t0+0nzZ<=dNHX#WU zD4s6Q8=0GP&tLz2KChg1)Ys#UaCvvmze58~+j@(n`ceg0t(08L6ubgGBVI$~OYZT* zw6qn|C7!oC8`?x{_0oJ3dpx#+!DoI8cG8`TVASX8m2YFi-s|JDuj6oJR5H3IFVDSx zm^pew>~U4ELmTc59ApbwO8XJRdU&8tZDhjGYO3uzTey9 zz7Mxq2z5&H{9=UmNzXRWX`@Iv(Q`S?;2?g}b)ec1>Ho2ZS8$yTFVKH3t0t#Z;xeUD-t(cT;ETVrmUsYI&Asg98?QtrRNZv0I9^_H`>$cHA7M9#23`6V0VimXp|B%iB{ z>vV*3iL(<2l_>cl>Z-Dg)7zi=<1#8~K*tMcn2!?bp06xOQZf5~g1(2*U~jmi*rdyJ z#0qQa^0H1j?=NK&wJryn6m5&i7S~!r9plZ{!cg1O77!BO_32b<^7;W9`wiDlRFGCfq zATdxHob(Vvv86*a9h4eT;P>e5_dhi}6D~nl9J%j_zak9xGYv+%6$dJ+s_8m9P2E zSP4;|rCRTIQebS*TcfXvLP;n6`#&vZ1QgRXoS`yWax?UM>nC$DJ6M| zxzs!2aXnB;>MOmid03=Oyz3h2r^Ad-(!W08^Z7m6&bEIlx9zi-7@1@LS%s2TTYH5I6 z!qd0_NKaxp`cx@6egOSG!LW$z`mL1JSpw6gR`QO1QfpkH$aAL}>Z_L^{zU-qpuq+628 zOroO&#^EN+82e*nMHCNF-(FhHs)baC3fwz{q+V+dgm6{@)E1@uftqN|L=UY zp^ixh2&gT%fkfE>rpx6mv9bi1Q}&!r`~R`^-ceCz&Gs;kcjV3(kTH;96ciN!k(?PN zh$P7w6huG}Bxf4OQOO7hNCwGSKyq|Qf|7G;v>VAma%!5dPNOpSx4vHMW!^tr-RC*a z301px?d{Ihm#uwDx7gB$MX;Q83owSy_wk))=JVZ@F0UyM-3d#=QFx_zY+qW?PBdQ0XPA@zOxk$X&Z^CmP|c>)7uTnI0&2wefs8Mw zbv074=}=Tx`?|A8H)U@hjx!A^PQzxfjpKYj&ZsWd`dokO@W%}FbCEMT|G5B>ofi1w zSq{CMJ}!=VSEoZRj^(e}0@22w%eB_aW{&`QOn%3{HRfjo zzBJMH-=V{}G`}u=pa#Y&XYaU#s92wl;tWukoJGs#VQkd<&^L}Bl6x4L;9Ec6g4!v% z@6SY~rD6pr#SO8P46#kc40a;9?wZi$?h+SDga#nl`_QjNDw(2D4pg~0Nz%K@vqgMl z=*C}^{XpqLD?WdY`NifS{2ai;x`d0oidZw)pGQiWkKXeeP9f?!9+-!MwwsAHf zolLD@Mi0=D@qC-sHx9~I8ODx=+fpw1_|)NwSE2!*@(cE=4$I06{L=5v4>93_e!I+M zqf2MLxu<DL&Aimo)2qjRDMO+~$19|bL3QS_=D=R)%t zz5~f5f~H3KC8XuLSy8i7F;HZo34_0Ta<+Ako?sEQ+U^Pc_(;+269xmK{sHLah^=KP zHGsMzp3QLUw&hs0=n4rQB)u4~C-|i_A>-NNxE|qW?i{(X_wF7|=!)eoJsB@|RmZHm@=16h+u{aN!TA;}$A`Lz~NGqF(tbF2rLEq~u zKzP}g@4EFhVrRSLu_O~PBPd2HJa*Pgch`sUNLrax{|3bRfhPs&0nnd2TMO|KtrbG; zrC_SdyX9!$_2lzL8zbc;1qV>DG$+rCxvhWG60tDS8WK@6 zk1t0Jy?;A(k$$rZZn)Uk*d^G$oE#N%1Em1apW+425yuJ2%9`^g3=(^Hy6qqG#BStMyX*$x-i=|;CXLmIJlAt{ zJKd;vCOFG;*ie@mx{@>-r5La3zYcnZ?AtFo&+d)10`$>5(Hr<+<7ImKOz z-Uye=^7tlkqXu(VV)pY=Mm1xv&_GsRbyN$!8tUv!s6%q>`uT7c*}2gQeq?*{$@<_V zy3#La;hVn@wmQ~ZhI$0&8X+jXKN)*-7Vp$f>p2kL4(!lkCx8DfZr1vSv>sDun%ewk zb#+jL?-4L*iLam9U=Ofi!iY*&@9g=duI$OFQ3&DL;|;~F6xU_Y@6fYMPy6F$l~S?I z`~Y^^oQJ0XwwGJ#q+ka9k>VpScNS~JIcf;Ypf5Oj?nO}-5?tw_dtnPqwfd9@gYD-* z^M-aov|jiX^2q>y zpMb3rclV*U+gjHxjNBJuf|Yf{*y>Ekn({KQu^{fv^LBz`%=TV(Kt7Wv*K-38r=EBl z)$xb4Nmc}aGEtwLK=TuiyacwzCmm}?Amze(TG+#E?9sR{*v0!nyKTYfLFb=ZU}mNsuy(|V zs}$0W#z!yKGq1FHixdC#F5Ue5M!cg{40pN`6NMKsvAX=qLX^lvZ4h0S-O`$$bW@Fz zICC3qPYEW1?A1-!`9rF0zVE3#E=E}sZ2WiXXM>rb^*A0KU@_z6C_-x9z(2`>Bts_u zHL>ke*kWc-~{lb2M1OTj)PVQHQp<#Fa*1{EA^8YCub1?o*TDhata?P{wR=*BP%HL6oF%eZjxuM zHJEHwSkvFke=P1A&jWu;f0KSi-?2!ZtC@Rvx7|ZWqVycj*$Q$hlW>bHQnZ!19jwef z<=-RRWbytDTv3Ilu5qC)xU7gX3!O4d0fu{PhCygn11#p5-VGI+Dy5F{SIid=W0&)H zOFY)H3F&$`~J9lR-?Kt;*uA4Hn7IViqGzHJZ&|4%>N! zS4q#EDdF7r(V_-E`C9y+cW9NWf8z!Q2_^fM z-kZH|`#dWg=Y3Hh-B+Ol0dRrePXDfMGs>&5BwoWM6sIe8*^|(Y$AvO6(540C_<-2u z#jp5m*=N@cf9nv>85(3PJe%WJVK78lwYQY>c}%~Ao6$own(7ECioD~pzhi=;0Qhhw zg?{Vu)+~}=fl~E^&vM{o$*AM-Zvhqzt&f2O_hNVQj&B1lfA7Jz7I1Xj=Zu-$J_hVG z6(eRbFap@SNvaE^d8}N4il9MjxwTO=rg^2C_HH#{uYk#cBACn@YAStYgHm4ihQige}tIMdkxr`l~x$}4He z$ttNYFRrWkva(%l!5)c##~k-r66kH zIo#y7J)MS!@I&mI^A6LVR%3M+&%J;DL8bI;ouZkS7)9VxI{i0&B73E*t8|$-HyFN& zEswR~8S^2|^9th;hNb$PH`$Yp^ps(VB@U{ugo;zJm;J%B4eu=a4h2hdkpYqR33;fD z1(e<$Wz0hKiz4tyMOO1j@~BaPfAnByaNDz2$txPge`??D6G!?-)m2ceCh@^y^ z;V{R8tWE%u*>4ifJwpjPFdic{d~CpcTcPuG{}vCn!j)vre%cc*5F8VcZg^+Su=F2!v&4A$C0Bn;(f) z*S6&BYy-S(pu}-cOVDobsr*4niMTp@t4e$JAM(?8*Z1^5?zC53v!Po_oB^{cgEdJj6HQD||Ndf;#7O#c)XBZzhoX~^5V#9vy9@KE3i zn3=5g=^8_##04#OYE~HlmS?D@RexzB-zx*+Ez0fs{zFqBi{Y7gG)Sc>R>|jCde13d zY{Aa00u}7BX+fk@Si)o)yXMX!I-lY6d+V;RhsOxMF5_eDWl#9aadzjWeNdoylvI(X6Cp*RP7?iN|)+VAhsr0Utr1DMN%hw(u+Y=&3u*#2TvuU;bMNP$C~t z54?eDawZv@M&%l&1DfofV3@$Xmasdv=kZ{Jeq^B?1e746c}m_QBqU@6j4kcB|7^@_ z2~g+Qs4i#C)qBgg;P%LRVzWI_0ZYXx|vDL%U}9%)ceIw;Xx!t_Idu% z?3_;!2Zq<6EA&{5ZpSEGchiBkOks07#MgRT|P1iygZ zbSdUzwQc;Vpv4(~>zqO5@A&hFTlpqZh*AGeUZ@G-o`Ya|qP&F~_mFxSI}>w7f#PHh)W?}U+sYkgub2L3Uhm!=80loF*_uk-T;=3zT3Ap4lGkUtcI%*s4TrED z(!-Hm?78L)q|lU@_qH)%M^DGUbBXmV)LQ9QC>-w?F!RKHC+KKNyUNFEe-r)nYI&DYMa@LmYTTT|>lzsTz0Y?-Grnkl#r2WqVt57C7|(?PDEL>*ejb1yuDX<4`a1=XAqFQ z0-*!MhAiO?tlBZd8n#?lXZ@=Wn% zi}{bu`3&>o!7}yi;hTuI@&Rm&V7VUUth|PoyYdm%7Tf z-KCmd4YMOZgIfSb$T*2AgMQQNH1H9C5+%Gkl78hFWcu0Pb7WK&{qQ#g#2o_z&L5uS zfJRWnm#7v*Yi9OT%uo|l+WgPMC7T=Ta#?w}+g%+d6{>X{IBdT->+V~HpCs2;rD9a&_WzjG&?=Jk#kcip6&zFl*S;G}zv>EFh= zWs56S8@W|gqOeuYmg!m5Y-FXUe@H)&ts#?GRJ#>Y>d@P_Ib;XA>%pfh6eD50+sXse2jHhTXNshCtf7>N6Ki<+~_a`K4 z+g?y+lnh~6r1oo>T#3)aX8bl@TGFMN$k{?V6eRXKRcd%bV|=47M~>S!J@o_m`$$0#iC5vvFZyV@~v!QB`u*UyR2qs}2vBNR&i!594? z@R_i)^B_7o4`NwT&E{x^)XC7x4o#A5@8A)ej_3$h_WM0YB>dV6Rzy zS1O*iU&u~NU4#cewfV^gXep#Y(x-;3PneCq6IqKPq;spbPvy!)@Jiv^Jgn1KUvVpC z`7=KcBmFiT{PrAByhdi{QJ~$Zu>CyRsyyT4Ml3L=d=>T|mh{*4MR{XiDKVqS8gf|s`rBS|`N-=RT0VYEs;cq`8ip4>c%FBr%D{c80oo*X z&i6MwO#`7Q`<8(JjK??aC5z2$X3kR4gr7ZaD-iQJ?QE50#;4;zcpf)wh?XanB+So#0onn5e=R z7qhp^42Mq|H!VjqYwFN!*-T3H{^R$?*67hI3gPOHRE6l6n#$3ci2!LD6~Xf@N0?$= z6`d-J3wR9-N5fs)(t}fMy4>_u|0bp-5Bxe6HQk+7gD*z9wh*Z6|HD_+4drMYbOOvQ z1DsLc%o-nK%XTnSFUvC_ES{CNa`J|6-zWuG#0uL=h=^F&5~jz|%9@kup4r;jb?xe; zZ_S!)=(}L(?cf9&ZbVBJOM}g{&dni=w9HDlzYaQiSF^*nQ!-4)EmBv@6PI0%(s4JJ zeIv|Vx;(9)$KVPlw-{KQ=MK!ymtb8jiltmL0D>wdZqHIU*NpBlYk)ol5rXMc|F z&V2?3{R%Ty3CxnKv4vh)DTkF-wHWQrhxXc;f{@bb9xj`HH`a#aCubUR4|il;m~RE9 zpwpsk(3ijYm!{0?Neaw9a~=ff>$gePCO zXVOs1Jx~Y?qUW^?I(p^sTc_69voc*+`)^7wProVhG_PE%ACunIU-aYmynclbi&39* zCdzbH8#}b0K~d+_U+img+|A7!1y6EHik<55HRAt_{pz6X;!?l5K|AmU1KaI|p2u46 zB6ZLZNb!w0;{)JC7anmM^RNM2+1^~w!U?rp`{w*-=(@Yox&&gzgx2P_w#^aE8N8@z zo;MrOS%I)=s%xxYmCv5A=UkP~o2#WqW$5YXF*i50E!f+@Q(DPFTw2XvTI{~qSbFFy zdNHOvd2#(o?V4tTXN5Hh*Nd-i*Wg>@8ECArOK}6sA4~%fz)x0n+wrij>hsS0X51EbvBTRFb7fQkExZ-t5rrZ*V? zO407afs@U+_t6cyt`WnLJLgAmH==&9EX@R#h;6S$hDwTId)q}X6!`TpMT0<3lTBQ|@ zdMdDQ4akyV$K9M>jlW2R^L~Yj56r$gKh4P7CQu)UFv%$f@9}3{iyWTZ zG|+E2RnePEo%Av$-|^=L6t`kPADLDm?c&8W?KRC@u_$-aVtUxhyJ%nyk|!*Ty~x#TAv}Jjqx;V6|42>BbPGOkLN5!ru8)% zNAI+~?eq5S+FZym#x2`C_0#_~q1{49lruD@#i!`UgUIdTBgf$&eE>Jp{?+-6`v@q) zG^nV|{bD~hMra*_=*(@TPq1LEW^ZFJFxt9Wu$KS_s#-h-1Hr`UMUO={*epg$E_h)$KW$?MR z=u!S$^8_OX+pk&DAin$9qQ~>DL(Fn@*b;E8f}S_t2%03Dvog79QMngfzS&YZYiuer zM!i87#u*SFD=Oyc+_y;`$I0f%;N_X0CK{jLcKX2)U+u~TTYvYi^ zyv^e7ajt|bPM?Jj)Bke=l44L0TREHS-Nd(e)iIW1=kw-!;46=pI?sJZ@sMWJ%mQo? zTinkrl2~+Zs8|I2c&bTPo-y%e0O-!dh+S*>$gr4<;fB#8a0fN4>L=+`%+e3KLS@Sc z`8p#@YG@I3y;_l&nAj9&fnjw2_Wm{BBON`LuVG7Fa-8!}XBNus%~;9r*LTuC#v~>Z zP>$w}^pW7SX&-?w`22Z}oSeXrKUiZ9i(13m&?DZ`Co~kUb@p^t*`@iJs8#cLI<9YS zMie$SQEn9&^&gsYiqe4YW_8|tzI|brT(i+lNl6tr!rnw2w-o($hi{mJs*M^{Dako5k)oZG>To;}=1j%?oT_H^k@-MF$OX9*f*Uy{SfTOBfe1ufLD~vU zOHE8nXs=ri7U&!6kb~6M&Zd^Rxj8ZhTp0ZK$CHprF{Ex4WnfoBWmRiN~9l zAVB|U5sgO&)>13!z=DJ7*447luYbIZ2%#uG>DlM3D(#mUt_iigh>rm?R)|A1i+VU) zSy;#Xjub~l9R=)bHHdQDma?#o`>oX8WWhC$0U*@S7;d#_;*js<26c$9x2SY6#2kHn zeI%N}`mi<0!8x}S=ZlO1kq!5v^V}2E)Z1imQ?edueWAVrs8^u230i;x-2BZLKE3T* z5UQbK+8JoVr6&c>1RwM_Ni5ng?h0RTrr~|VlNzTTCVTd=v({h-ZM@6FNAa|Mv|*fn zbV>}TsDgL}{`X~SYVQg&?lV@in*l=Yne`nK0@&44AOD~hLFmkzupD!Dgl?ZUJHt=odAEaVKk1SIz6xo-3dUR_&%k_plJLv5`agj{LYoF{GP`iVJWW{J9oFZ_Y;(!n155d{FILIuJnJMb1 zFSZ&jmzne)z(*{R3uhPY*d3$ey9!p1)(kxdl^ZgTCQ-XWxb^JU6E3myijmQm!!`@j zu=KI6e0wfRs0&jkuT=K%-(1CObuXGg*W4Inhq*wJEgk&k;R8&srP{+3bA|2X;NuJ)$=J1g;Le~1J$U6d zc{jDKYjRkh7h#D6$RPy#*xLHJguSp9aCm)R!iFN3Lg^DQx}6<=^otkqF^-L> zp`_)C;aUDzzKaw7OLiy!JSwZ=oyv=l;@fX*|9!SE*=MgTQx`QgPzJ^U?yavNf(BR~ znzEkD7jVRIT??hZ1jOXs+KRE=h0Qjn>QnuOm|Za{N++hQq5grs1-?f^rxC0iVc=>W zUltoQyc-W8>4uoy#sg~)HzTbqJF}|*u|tSQi`h=YxPE9S0rjM3Shd>tGzy-E>69s4 z^Vym51zyAqW?9?|xTQ)A22Lt4yznI2Yve{Y^ zq*O`s6u)7VvscN;?RLrAF7v8#H&4T8%ma9>i__w`%Tuo^x+;mS(N7(RIPMgwx%PZnwEW}m?Kv7 z(rvj7j3-NNb!Bz4t&sbA=0BlH*bxe0sotBJ*lhEoOG zH4A$NJ>wbXc4S`;Vn|sbfyHK{-|hqC6?Hko)V{ax5kvl51{ky~p8@5dHm@GLgpzA- zd)rAxEW_OyO=V?eO3D{}1-%iK9(uE=2iH6HKd| z>T5TXd~W*cC&}eTUSmPYLm_lKJD%~X(^-ikKOb^qMlkHuLuO4Qc?8={iRzRP&V>X{ zz$kcC0j@KL8tocb`y7VM!F#Q5$2M1vF-jYo??durV0ii3WU`(@qmz!z3uqYnn25W zv0Pq=%3h0OJW+c2e*mn<&$;~jedFm2#n%(tFoSZ@4M1C|geSmGy%SCVm00cty-NSWFRBz4yT$X8BcEa*uie2OgSu#R2!k+mjTjj)%Fkl z@;-X9i)~@O{mbcpeT41(+#2O+ycdt2*y40ZEq*`olOPW>;?N z#^#-q4FOF`5?d3IWWl@lvLi2i@&4yeV~hTxh62`T?q=7$3s1p$bGybmR_#>Mas#Hj zjY)z24?k0dz#%Tr>O-r13R#m6{(If@c2@EZl~l!``vx7u55M0x%5dMTUOZBK;xJNP zPm6QCLYxXBUV_NMdygh#M$TBbVnZQ>B@mR+U-MfVxI<3`YCRm^uMDDrNpOw0Vc@Ju zl77|rt}qjX7`JPfmra&7(gH8*5T{xSN{xs9*-Qh)#13B^g~y?9iZC{~3I#h!LJS=h z@2s@KWl^vxZ(ELg@}fX+!sW}SCz0b4*5HG3jSDnKk#MEamw%tx0R0fiREyNZGdWnX z?6CGp{Bt@hZ$KtEI3PzmUvh9}`A+w5AamT1p}&-MhTPgq{%1Q*uJJ@5TjTLIk&Pjr zn?_67%{HA=e?^)e?%;hEUh>9dG^EGw_VP`)UOHKnHJm>WkQ!uHx}KZ`fCD%$h4q2) z;xP`N%V`w}CtpCn_lwAtc5!h=kJU~s(3e7Et?-}2p^H&EQove=jUV}DOu;s3}ca1)6{I56x%4%0`D}^CSJlfnRXrA zPgA1{RpQa1tug_Z0?bXzqPRO&q{lzv78M!5o1o~_i~11lQ2f80jlUe){yVkT4vvW^ z9^vo7ICS6Y@L!b^Wi_+|fl_^5%specn_9EmSjb)JU>?h$%+@eQoF8kP>CHj~d*t=K z$W>gF_de$)&DhY`iv5ELsEi@w4)o8ApyAb~TY(<|Z*Hqa2XEbDIB#(nw9GFQJ$>`8 zr#I$_eI;h(bE&(fP@Sgnm5;bK^HVscc514dS8l5|lO>n}KuubV>ViKLhldyosnb#X z0CF&m3Lhz^bvla+ZgNbGQ&stcYqs)9#-xO`n#SBOtBeTB173}w%}OhO)AHAk#;`yU z^y@qxEMv5@?iAKr^r)~KcGNuq2_&!5TVOtxe`b{;e6-? z>tWrw-pgq*e;|(y63-HdO`J6ZTM_7+T6!T)IEPe=waRQw08Qh7XzX2oe)cZSwYw7X zV0IlSx;`KP{k}NFVFn%jdUzeGuDoO&qTOjqi|fYaJ7YKZk1kL#X|3Aehilr_**u0j z1+MAO-*~SZo*ff3u_qYTU{+qnTgb!x<39Ad^zJ(w39ssO^R?Z`aW#d^RxnD3OIlcG zHX@ZtMFs9{MLF@bqZ6V7uVvfzF^{TXIP}w#lUV}AiJJn%O*}p`D|ZNQfpla%cee*X zmIkTW*xA{EaPY1yx3h@>@Z0 zl^&Z*&o8jxY3w#qvhW#Gy}Oj0xU_c4!synstd7I0>a7km$1N3NLc!=4PDQ78J)Cl) zNk;V+=*sZD}e1>_u+1w6qw3v?3y?Kv4H%vdB)HLPvcU zYxMQzasuuzztxLf4wmKLCQ&RGVnJndm$~et(VMNT$uEz0#Ihcfa2Vvr0?;E-(ZsG9OGk4j? zKt?;ur>EsT`BjujyPeDWFTN%b&M0jLNHjvPP6f310<|Kc#AWl#3p_Z=IptgY`0=+C z8zUtk=uL{7R9K@A50;}eYAt%$7`we&lmEa{9W4z!&5y|sOCTcKf>Cz*JFA?Ag! zx+KdF<2`mK?zcuiS|Z4?XH2T8PvA!Ej=-C!(w5CXh*%+=A0^$G%r7Du1y#|F>0ANW z>r!i|bPaypM%`q|&+cL))U0@Of9+_0XYF=D$gvVK#jUp+l7k68$lMvAOielT!zfGP zhyYD^i3#=(6R#&%H%@qG-d?#uk0tE0@X)^{lZdzZ&thgLHm}uwnT_(fiTgWhMnB%r zX}kkE32Z-&%=3|L2mL>%_rlbGc6{@uGYKx$4@QrElwOtWKTR-XtH1rf%XLl;$c=k; zL$3wyJr?ua!ul*>6zS-mw#fPEAN6|0lM@#qtN2xt^c@n5-K3H)VJahXe6Bt4`HidE zQLS9%g=>!zK|0i8opP|hA|4&!otWq$6P^fhV%SUm_zV%fUe-Tsq)z!q8sj%H%%`z%e-hJC98Iu4x zr^ea*$-p2h^6ifCMeU-(Oz!3<*tX91H+w+x4|xINCZeqafiT2=9t+j#iZbcZv?a2+UH>a3(r)2P<@r3(Gej%3X-~{aWxVv5Qf8O=WK==YG3#@OA zyQ7Dt1)HQ~{X}12>AkJ(&81gMQdZ<-i#_kQiSo8rj*~k5s_sD5^t`ze#{P;S_k}h8 z!!Ee#)Pc$r=Cv3b;}%>!eg*Dw!#jYMdkiAF7AhvY=xqTsyWOoJn0cv2?q@Mzjf zSzoR`-57Db1P=(9FEX7%c6>%vdOz2I*BdZCM}?66%YtDuP$KVLaRz&?hoyr1Omk61 zW0BDAcI*67G=B+I1`XMq{%~>so86p#0Q%@$^5CiJe|BKZ4k#eDo*mAHI5W0n>i_Q~G|IDgjqFkgOgGdV+{&3<%yf}&Ui~K<~ za`m)7SszTT!~+BUL0XJ+;sq32AZ)Uu5aRt|gE87gkH=CXT4Qh9cRb9u$_Ki-;_h*i z4b-IeZkR$c@gqiBc$lGtxyuH{=reUniln1wWP{5;PE9xqU2I2>Svqth%T(5QcUuv{ zw>r0D7E<-X&kIg85|5M!Syw=2hWqD~qBosY={Z{3g01%lpv|4DPJ0i)687L|bZwhy z?Az=J>0KI3>u(5L|JQS|A~A)TxJb@hVIYe%UxbPDL)DvpIlYfKXJM8FR()2LON|0w zU#S{FQ9tAUkJ|!@*GHW89HEL8(W4<_ZVp%3=MGdEFR+!1sd#KcurfA|VA_a>1?nG zU!kp%M8E29&p1h%u~Lb528^e!>Uce!A&+*9?nlC)zt|}q36h! zvWiC7KHBV5)Q8Y!Lsi0)oE;`eC(;}>9N+-bq#l_0o74TvQ55nn(w6voe}cA_RPG8p zvn-$?+N+MZue4S)W}o*J&g}(lZPDil0Y}|}AXZHYIN}vs;e%n_1d|9D z8JscYINW<>ov4p2M+F4(7R-D;GJ1*#e5F{vQj+FXJ}G-PbFD?9_X=KH+^3Rsu*#eZINl}jUOmYrpfKbQwa|C;{<8y~-gDmZ_ykvt9_ph~NIk^5{FjKkV2+?Zpm;cCOY8Wos zdwLiPCV1R7?k<%(rM|GX^0?j>QTd%^_Z42OEL4iSln+Be{B})!2ldmxPw&0_&jl;1 zBr-~Goei+VY>ON@6f*5w3x}g{Z=|wt!kkwA#s0ZrgtD}LY2%8O+(RFv6CGrD@;n4~ z!45?&Fgn;1r46-znQ8B7ZJ$foN~dn&IaGZ2qkgOXlC>4^D~XVGrK#0BWckp3oJsHBM*_8iL_}><&SXr^ zwO9TMc@8Og-=;mRYt4-z5}aWnJ04eCQ?CfJ9EDCq8vyCgR2(onB_izYS!^~u;27Ah zHF>JvOyl|_t(d1F`-Mh>0;jd_`uW(#-MTZnM$;3q4Zo3pe%qxM(YoWFd9k&5Kl`ir zoqhPtquHYnRrkm%h#F%IbO&kKG*ZOh8R+Z(F&Xp7jA6a8wr?1n0HVYgXpeX)e&T{K z=#x&#h||vY<;=da>Zb%Q>BMP zR?>YUqo}h-`O-rQvh5NO#>=p>x~Q#w>U(&hDz{qzC4nSA;kUfj_W%GZOr`Mm{hjK} z-&L??qJe^fg0wMa&2z)U0#LvvU(3&%6n@#(BrS=y9a3Js>A6obC%rH8o!%;#AD908 zGd6^ZW$?#Xd}q1R_BtQ#mhP%CGB0zXB= zVyjv26eS)o5K;NV=KWSL3hGSmTJYBp*YYT~^R1csG9krBj`2u`vtEiy|1^l)icU>p z%j`@M28$Z#OHsQlaBbY~JDQkf+1;N-ekb^Xj~v3uVn4@EX6`bcADizY2WO3@-gU4L z`HT@M&fr2t8m-;|jkzm3YTn+!>Ek%tCU9jrvhOxse!5qNs=S^Z^Cj!jsH<#b;H$1>P46@*;qKNhfdQx z_pfX(dJZ7HKiNqKryy(W%OD`Xd|)~14KYH!p-6=o2PQdJGswch)kQ{bWOX^!sGlq$ ze%cI63wN=CD61ylwJS|=(WG#p_PyEI`t8#?#VOx;LA#M9Z_kCs3>`&@L3K-QAI1$* z{Um&i>7FA~@=$!+y(|`4BnG?$t)AiruG1--P&8oZ?VTokyL|bw4_jX4b)>wGQXK&5 z7iZiOY~Hrzl3Hzx`VHh#kWj+@r}q8BM+!Lp6%=|ehaj8;0*Z(JD^$6pC8aN{TCsT~ zBBFl$A+tM>4<~q6nD@&p2(Ey#9ej(|)6N27K4cBjN^l2Q4-JKAZB{hO7d&XE1-8Jd z`jKMdFmsSdSI&-8pf=n!kk>q_gt-Sv1^4r}Zx`%@D@OCNBR&mk`$UX}5SGEo4}A+s z_ZS!$mIAEZnX{sPj2G&@%N@)COMUCB~q2LPhpdjz(r`sId@jRX4-wmnEW>smvfBos!dp;4yg_{MycMXnF{=ZZnM-G*?% z8Oni;NS?qySG4`50tlU6DYcVF_5#J<>(1bIX-YMJgNz`Z>!5d>88^# zpcNOe(?bO}|BPksU%cYNSe}{b#CF#9{mAuuRpOyXzrnlvyrxE^D;!X6i1#z3-Mcdy zc?hol0^sT&Ce}_7T)`v(>Mij zF(y(!=h(~R;X{sk4~qMclQ*C`$&)%|W4CkF1@0b**8`NqoB@aOxq|$sM$Ny5;%}aM z?#%oAo{r)Jq*siPe2I<+x%i;vp=>rv`6xOb&};E+pn$GlkPUggbNA+t%(wbe zt%fATZ$ib^V~mt;fp_MuHf(Z$=hje1Ax@9P)347CoI$t}q!pVlFqsLe0Nvbn1^p+SEMcO6$ncI{qE{u4>byu#dXS32Gq+fC8f*>_ggkM zrw30NsX^gx7On!`UNGuV>`fNjPuA)E!?#T+gNa=42~*}7rgI;Uau(Ik@ORbxZ}aEB zE^w`V%0z(;_uDg+0QD|=)>K2y5Y|P-VzscM$Wr~)OomsejffQGJKVR}IFt{jCQTUP zB<6wsfk4G)2G6xzZrPr&`4yqig2#<9ugh zFSuddvux`JR*VSh)l*r1r_X zY{+!8>}#hkG4OD$#dt*SNbog@T9~RsbmtNKB*!~FD{FYNAIw&AgENuKpBM-Nm=4T! zxNlU91wfuY=Wsu3#evyO62z(ojeI(k2f8a;Na)pI*3;1?org_;i{p2i~;9NZvPBs z6#*M!HK4(P`k{dT4W>62>oi1-0V+o)s&SBVPD!*df3#uOL2gnxsyi$Ud{kO)Na(uY zE|9?Vb{Kfmg_Gt}YP7A`sDHX3h+gn2sr3FZ6L^(gb$3+Eg5X-X-kcdF@V#91{X&4Y z1e1_L{tfZhD1wr25=qEHvpCVZsK*ajTLn=BskcGY{n{jj5!7fr!1QtAwfDe^18BrU z8J7`M>y6Y8#&^Qbj>*isug}Bq*1NP88~_zUZF}R)OgS9E#CnX z(q_z@03&-zNqGCBjVOl)B&k5F_vha6s_RJwFs%az_jGQh{T;w2;zbJbx!QE! zo`+5ai~KD6LFL12IIJCOLx~a%L$8Tq1bM>d_mwz}+t1ujNGIlS4e^Ob1N^Z{T8Sg% zXeHV`@$-{#5-_5s1W^Jv_v#(8UUQIzWQ}=zgX`g1`ttHJ>g9je1k5-vJ&Chn{yDDC zkDb~_7&<$FfKz>bQqpef`SbM~?$ePDHeYe&>BEulQ~KN_Ag@?{&5Uyb(Au2&$k~b$ zV5}tRRu|n_EV#Qd_ew3$8}KXW!+~#o{8opbAa?#TxCSb7v#V> z3v|2TM8AGmR~U48c!k#1mq2To%5LJ*W$7F>J-7Ly9l}tide(JI)OWG}Icd``3UEiH z1F@D`q?8A0F|&+=1JvDA+1~NlLqLDhcN|IZEnTc+#?P__1RgSZv3q%$Z1uc?!v>;ADKnk97m zwk>%z^V^U2FsJiTFHyS_QyjFcA>rR_wv<%h*&({1Y{;CATL^T3?#~tc^^)J6!OlmH zA4_j(kV2Tr-_N;{EUlRKHH3j`VpfY$u5CNSP^0{f{G zct!)!lZFp{_UUbpB{;DBk0fRUJH}p}sgTG&^ZTN4nKQE z&3KZE4L{bzoY;ASDhgXgr<6pv>MjlnY)>U^ zxK{i}X75inm?hEBn3e}C6Qy=`q1neq9m$o-;^^1RG(>2)} zx72BaABw3vv@M9!(?9w3RdV4*?iZInqeC~=syJVfvCr!-_D9I}Nlg})HPEboYac#> zJ4Nv*Fye^JO73;5rglr;tOyQ&;|Dxn^?xO6d}QBW$W^>k)?+uLQ~u`O!f)SUAMfSx z9o2TT*LLow=?amxiwh5<+xgwr@bYr+GoXb1_wK#BvkD+KaBcB--u|KT4c&p6+1)!o zAD^siqa&#S2^S7)H}4W5V6wyMszTnNA?`h>T^OL%R3;x%s}!0@jh zW?!lD$q;zkJ2Fz)Z_OEYn}+{j!=xrzSWUIEm@dSW3)lhqPy1T%Xo<%)vGtA#E&gjE zPGL5}_a3O~RaxGfX@FK&!R7HiU&k$7@x@WKi%N#;|)^EVjGq1Q1XEoS};u6(-*Mjkv2wu<|0 z6XXdacGedKQ`+F%9aOcpzToLTcK4$8BqR#E58!q1@G4Z%1syqZ#9(DocDb>{@YerTQ_LY}0+WxN?z(_E!{PR|PzDuY=(xomF7sT9%PBem>a$IQ?VkkN2p05=c#bkXicJ zwpRgJMo1~(#jm8YLd7ZyWfw+;y4}42T7q>ym3y zlI+M*(qSfLrl6HJuD8FE8_lra>b--(VBVFKOzJ14_T?GY^jjOgGgD3#Ex41RhAZ)$ zEkU(x*VYoM-=CH45qIn!9%M(|-M0jNDE1n&ODCRVwMy>s^k!2SbOq0BT?_VC3*Gd? z44&PaH!PO9&|J~F$#eGT(qPhLgG|utQ)^Pj&SdhO&&pMJn98q5QRvgiF0WC$eT}3h z0FBIcBg#8@Io!0TT|i{Ulri!zpj?o7?P_9e(Q^HDkis&j3UkeMCljce9O*%)g6x!k zqX#QOp!nUr+j88p%F}X2UDf7pR$3Y>BBM*f;$V?ASaI85xA6B*T?Ph+rLD18y7-;( z80XFWFYpA_rB>?JmV?`Uhkw~IY7P#_A5T|NX#dA&#%Hu{DW9Cb319I79eS*7aOj1z z`(I$Frv4u?5F6t8Wbg;~15O_rIq_3rUo>Hv%uwspTzSqn@<;D-Ta~BY%A2De9;hY# z+Ly43{s%8ryu1EZz5c-^M|WWgXoZy2;I;Oumrff^|JItn`p?8Bek_{GVu8sY4kf>6t9ifCDss<{E3g;S|B`z>Ae|-a zjvt&~Dgw*E|BtM%fQoYa-sWDf^1Di06{Nuc45UFCR1~C@hM}apy9V@%A|)VQB3(mw zDh+7`isd`oT4Rn87K^V@4AaWm z*9yklzDgy{GhCb(NwfGG=YfK(u)E4opFj2J!6OW$^;D4V_1BX*+B31mgHGD8a}I4e zJvrzmRgF)zO%I^rjXJi$K}m8k3L~S&9j3+5&``m}ch4Qo-y*~g^&*WUbb3zQ1l1hX z;B)F=o~B+oSF-PyZ#%>K&TT?w~t`T+7}@Vc`9wlnqEpTpaHh24rqouwF>)Cmp@+#JsD+eHy+I zC4cIJe=ZWN^v)3AdkVS)DZ;FA+i<^5}6Kxhzngzpl0CQ1CX%jcsq-q8XhkUtz0YEFDYv)!s%K#BY zA=V$nA$f93q37lByrU5Am#^ORN4!XuxbKFBS*zUvCV!;Lf)7z&EZ}Qzq%XR*X*GQ@ zKQE|iZf`45`~KF!%1-YN+U8WTiTiEbt-?Od+b!srPeIc{-im`%=R8oyrrPlhs9q@M z6M>Y6XK%9J6d!GvMBG8LjIM6W>utaU(&j3{vqIJX&=DUERD}v#78hd~D@#eq$QE>e znf&ZjNis`NB4@1Vy?4!NCeEyT?Kz#-EF_)HZGD2vo6)fn$h=~Crc&DF8BWEO*ZS3V zMpJ6OwoCb$RhCQl98}u}>xih2_RZZ2fTq=6HjwxY06UYJ40aE<0#rbminihKryBVZ zgWQcvAM`+r6Da8S-T7LVH#p%;1C8~?As67kGIDpfLd8oc8n<&i)?OT%*@|v1+E2M$ zrb4@xw{tQHUpx4kFk6}Ma_=3tp`vy-Kk$i0DfSMK zr?<*${H`@4Z8r=2=hI8yjPXADS_4B!X~-xJpMurbM`=18LcT`QKs<1Jh+FH<$vcya ze!DwGIidusv^^=eMCrL{sT>Wy{U1L$$+h0!>nq-vUErmnLmi8@FJhwf&ijcXlNUl;6#rIA0=Vx2WeF0p5SVuOe-U)1+)e5>>#__y0K&5yG{AqbBub2{XN=RPF6yiFEjf zxP{~Awc`M-R%)UV*;W#_@rfF0w`B4gctKFLp-~3H!~xJzN8rf~imPBOdcCI$m>etA z*4DO;Xi0G2TWg=~)<1Bp1HM6Ul8Bqs15n&7RQYQc{Z`6`sb+ICh+F+XJsqODD&A_EhXLv~NOYbDoZ>#fb7N;`?;9MX0AR+GTT$5Bqc$QZj`jH?j#bfuc1NJYPiPV2yPr|@6IGh9!1HrfMW^{329wiG=JMYPfbhv z`oo70Q2*`~P}K)@QBxAbt8Q*@AMVZSF-V`-+@*!VYWB78X0vuU+!rklUnyqD0Dk&C zhY9%~qwbn^La^RfBl->i@_SAZB*~TXY~>DdH?Pk40Hc(u=g|O~sCe8$;{@J3+51GJ)wGfr{~4^?!z$B)>%L``p%v3kHQvN#Y)d#oWVh6ZgW0oTn5csAyCg@6$R zJ<4v!s}r|~OUrv}(WAJgRw8+ct#M&|dU%X_TBm|bF?k?Dh4)y}aO>lVC^K7Gmm8s1!G$?1vAc2qf%nd8>8v!)C&7XJ=)>Nzc8P79 zMnujx4F`l=TWcAZuRI7P&VKw#5J!Is_9mK8cY<0>^d|YD8GrkAaO+TYbs`PL&QEWr zjK{k{!37bK!P!p0gXM1aFG#Rk1}1DSL!sCp`R~h*g5W>w%+cF2tCSeTI3XQmp2xWW zKmzC$YghvMPvSJ`@ddh|pvh7V%%ejWnj^t!9}%pN-UR)aA*7pt( zuE!Z?Rzy0_h4}(<5XWP5l0DnkbCs-qeI*OB2g>N29J4x0eA51tg3OfCxsEpX@%L?;&kbmKi+*`| zMBmN?unq03Uxdwk^crs8*uS%y4TOJNTG7jJ%M1EoXl){VyT-l3ZjS1JAW>H)qVBdm z|M|E_p1}-oD!Rn1fFQBEYf!w#=b#@v*!!03eb}C7 zL#x`r1O|K=;MNGU{pf*syib?y(uSB1_Tp@cXQVkB<^gH4Wq4iF`)hGBN&NA(lb4@Q z2Bm^;FM-S}KTkx|?&$$=(zfzq^fGT(ZsuBod3ur#^ z!otFhDA_0a`b?yxq)%>Nf*$}}!@b#`V@ju7I|T3?tgUYYl@E0NjhJq3K0b>2`ubuk z6k-Il*&!hz+1oSP+C$rz|5~u0z`BmU&=HvMEh_btu-Wb-7V+IjZhNaYiM{Nofw};+ zML0zI{Nj?Eb_zf-UxB_)%F0Lv1D6X}9l9Czh%*yCZn=51F9wCTWG=w*d%X}?m8MhB z^8z7YjSaFAz_$^TB|nMWAo2?|L5Cek2IK8Qqg$z@H{J)mZ&>|O#|8<+oUQRP7@`d# zp%6eA69ew9^=SOTw33|Dm0n*rz{zbwQjd&*Mv~t)5?G)j`&Nk4T*tP?YKlx|IBHYu zGOV@M%IV7u`fVR9@TZhA=kx^q%0Lsz+j4G&wX`!%P;BGqbH9(Kc%@%gOc|#=7hm_D zlt@KJnIY%{6(YnE@G=^mHI_cXZDy)g=*|o%SDS$!qKx9kpG_rS>Gny1Iw8QP~uouBRbac7H^ za=~uxf9w@pe#x261G)pRb(yn>F6A(s26}oL=m3vv*`u zf;_oX!0e15mJdKE>&y^N7Y_N)uJS4>-0Vjj6FlhPPu$hu%V_7?Dnm@((p}F ziA1fRp|PesOX9#{7OTojf}WewmPRaQL35 zia+hhY>k2v7@(1kB9Tik?h`fyk>U~;I1zvsl!f3hY#lvQaaj)UK^6Px?2C`c!>Zz9 zZooi~GomAFfhx^PO?yD^Usu3tw!e5BVnJIt*fDUZ3|M)$r5^z121zSbLmi8H;^d_m z{V`zd$7vNAM4mYL>|&h$^lrQa6T|-KIdr4L{DR=Z zTdJ8z{l!53ZE~q{41@T3sf9fshyJdzHz6D=-(G(8s;6|`TIWjvuP{oYOus%|WZMYB zYKuy|-d+j{i!yP2V_;QQ3TN~zvwXh(l~k|E|`y-jdw zlCv$v+XW`NVJ*}gAnyjK&4*J(Y`s+*FLwHd{UZ#Nj-?P#gOD#6cMb~%i zF+%6hQ{{6Noz~(l!k+=O$P~BJWN*Uxju!}iW*2yYe%lI@Mze&5gqrr5Wq3JAf!X;a z`t%WY7N%E%vFx+Enj=h;l4)!3$y#plgU<_#ba@N9*AKpcfwm6z%s5)2ra!24^lSYK z#8|G?bMNfA8MQMs(sIJR?vdD3u|yrQdCJ~;VL?@%LoWym<>7BI(INyD-Ec?+sm_z@LYQRy{-yD-|y$vKIl&Z z!b1;saTy6G3d{jD+&c$tlWSNJ{a53a#v7;qneCHM4^a{wWEf)Z1ZYeV)2(Ka_Y?K3 z&(oP{(J6`dAXM$H&99KMMo~`e+Ev3LjCC@nZqe2KVy-V#0G&GpIv#mwd?D&dk&rk6 z#c-LB#N;_N_xKPyOGP}Gs5j*jC&VQKF+|T!!@Zp*wwe#98TjwE9E|EQ22JmEcCUq} z*n%bm7wyVclWk6|xh?B;)}8^Yg0RnU)gzDfl1q=1%29oBb`(ehUAwxE_6j-I&onYt z>~wqhz?ciNk>`;7MW;QoAv|lSzaJQNvdv}Jb-CJvhYfvukO>-%hf0W~#9 z1^sn0MYWnxmAB91aIZ41^8r1OtwpAS>PhgLRRMOn!jaHSMLg53WF5H8VIK6bAjAXI zMQ(lgOi1AAw9s>QIIi?4hun4<#T+XS3{B+}_dii2jQsUJ4wCe1uE^Jy$suq;6J$*8xkc_nQ0w)15QV#lOOs(-I{yNzv$f*nQDghwZB2 zyNDJwB(?+EA@Yc>N01~%=7U5tc)%uR6|4+k2O%Jj$xZ{9hCyD?yhvvh8*!yW z#%Jm@Yi>Y5KpmUCpJ{Jm+(`|6L2pzoa2$t0GFvVE%^@=%GFhG>aU|4?jNP?eRfAMl zeYdl#*J`DEx*?e%4-lBX*lAAC*U^%g{g$2L;(Sa3DUVQXe?Q@*55ZIOIpoTCyxI(w z|9OsS9p+gSK=+6mJAe}aNJ`zce-dYd;ucWc_FlU{+u>&wy5A}L{T?4~;dq5%a3me9 zuVgad`Lz0;hH`t8H5%&xJeL!eb-t^t^Ou#EKeV&612p{qUIxm$2QH&^ zL2eVp8G@Ks%B))Qj8>K8kVU7bJHxB(A#%6%)y_`1(+n@by+N3S6DDdB2W*xzsOh&d z>fJLxX#CkxApdaW!mA)P%WF9C!9YCK%cQ}eW`=dpM1Ztv|EVR=KL33$5wU4=TX+>N zOA_j6VgYiK@??@xmfrI@1#22eT<|82tT3c`oOU*$`%+uUDEpBJ4lMRwf8SpT8rc|H zn1a-i(s7M-bl0TS0Qt>3QWjJFs@DPn@*LX3&M5b|51l>=Y6RBTnX5Z)un+heSJ#z%`)rpA&i6ob8KQU)5eLna8F$!oi@W6Kq z-g*tECqq#*1tvkcr)oLbpPF9w@O2CgL#yDvE{EwArg>TZhVOf!JDl6~Z{4DF6n6a! z5D3H(a>)Ovv$Ao2b!V%xG0E*0mpk??NTT6%Q3*1`aow=@Rv*gX^31nThgZ30AXU)09Cjn*=*SF}hpl!@SOT?{zEG$7i-c%e)- z`fZ$4u5f6M0v6;&q$Yo0Uds6S!}+BG?)bS$Q*SaGi&p^Pqc;0w)dOzxV@b(njfW2i z5?3rR!o06D;*L}9gUZ#{flUYZIQejP_l%L79sdvzEX7Muj|*t4%wPdU*U;L*o~a1Tt*zl?6S|8XK=g(zAwIMzrWR7V#d; zbrx{zD6AuRInE_419lO6a4A(8w17wVT&!;d2uvl*sBc_7R;zQ$3`;?M3}JxMj}g8$ zw80j|Y+GF*F%+z!>y9v!O}8@0r-dJUs@TCHaj&}O+~?xYoh(M)dxp~;Pmt-I5OP^d z=GBHaVT6n80+W}yQ~soQEF=<9&8BTB^p%%|X))`FKZ(+fcjlR-c%l!GO0=d-bfmmf z(Z_{w>`|2yRN<KB))GW=7rRwrpPVqx?r8-f*c(P#FwhfQ7k4RomO%gaOo|zyk&maS=A$W>?kqA5H$w%h*HQarD3UA)QPEl41*AX zX)4z?jg%?cQ&HB*^GcK_2vkJwA;(8C(@YBzpbFse!@%S3a&EVwnN~w5(}wDngS+dL zb-h2t+6fAwPlGp@;(pEG`{N6k{vh@pk*oHa~WX_;^f8c%G zPX!usbX=V=2r1gnAYjwG!1_(QYV%#_4(9J9?yNa}E23D%Gbr5@h>t=gm8u!@L!ky^ z-9?XK)}(F~G58Q>^N{iCRYkal+^6Jul%Jq|t<q@pExO_NEL|wPMVe;NDr23oF zbS*-lG@p%Qx#M<_b-~yKU5aOwNJW?`Ft!|}bjve&*PYvT$&aqnW@Wj$0)EkK!Kltzr@m@n>$zM2!aO}*C33L1#vZxgvHZaFq%^$RK~cHz z(vAq@lX{95KLhGyM=v5=76Nc~rrIVUdDy5On{7-Uq1;HQ(?xF_cCqw51YL&~>}n ztYYv}CP7yn(Bdb+XfnWB?{?!}2`DJ&=uLtVW+8@B^4DU(3X+qS-FDG;tK``>KO?XhP6SAys;^eg9fi7$PMB@T(27-T_c*Y3uaAM9} zZ||NeaCxz_?vS*$9Aqk$`naR^A!EGQe_Q}EqBo^opSNyo=XWyadG!4!8OrL7uF4>v zUS5gU)`bdGC*|a%*9qKm-PFCy*aDmcEI*Mbz|{3Ijv% z*AT!AwbZgcx@xiBxz~KSOJ@53BnREltp#k~&QkLz35~9|9t^mdiau#kJ4hwFphn-P z=yZ=^VKwTJU#cN?0a2gB+16G9IWxQ^f4|R69ucG0IB-@G9fkEChXvwJn{_)a;ZA7{ z=ATK4b{;l!PM_}_d5jUlGX$kQ-4gksFUz60En+jv58&G1JQl`FtBn_5RSL9)zpVZC zLjNrojZjt1>5D5)UZm+=OcgCWX*mqycd_K2fMd7*txa%EkTY6|HHtaVPQ3Ek!Ai~# zpC)waMyo&!14Vm}HN-LC@+U>qibp0cw8lJ0HTVXh6|vq&cI&1~Qu5fSKtV5H9K46X ztEY}y5?mKj;APjbBN07el3TqetY#D6*2KAah~6V#BJQm9(!pP5F2g^3CkY_LJ|bs; zPUralLxR7eRoMW3mMLEXJWG(B248-+Aj)eP6bjz%c^#l7o#nW-#b8vtbzq(Br0c8) z2ru$v*M^uI@DrgsW4z;rRl+j1-0>fOlL(_jXB$9XdU3ynQ+F&}<`OY0i0px)T&tG$ zdT*B>@0R4?;RQ4Db{hTYj$Vm|EO+Exk8YnQ3}b+*4=kpvuGw)Hp2t=)7mBSp z!tP&53R1DHPm{={5yc44y(0)7j3^WC$)ANHpDd=OP_tdBb;QR;o)f+umx3B#2H|R~ z&s2c=D;6^C5n#G@aZx~h15~NXSLKcbhvnC1yA*~-IEV&vl+Zz(M1DDD$7++a=Em8F z`VElQlowAEVGJ`aJI;X)_BL3!z#**(P{lMb7dWD|r94ga(oyu+ECS{sDq}3T^pAU!G$Qy2JmL&&r2Rj z0mwld6O7YS0Urh*ObD%%)|FdLQ6eQ#pABU)aq9d05M6E-A?eFF&QF1!tmhElHdopV zG1>I1m%^MopCan0xVPhD7dC*d06?fl@||DUfjsYY?VW@Km+9hkigtS4F6N+98*DFo zg2z1xvkO>j+f83yT+%cxyc*<(t!+CX1^z-+nqUODcaSynw)o-xt1~Qx0q!*@iUf{D zloQ;2`z{F?OHN{a*6{HCI&?6oGV73@HfK557#N=^)E}XVv{GL-Q%oAT0M4E_6bl&D zUH=-Ka6=7fK^va0V2GL{R75=-E<;9)01cV-69*|JCWWYB-BCKiWy6#+VPVU``Y=9T zz}4hn0IJN&d=~RcmLNfnNbxY{`y~9MUk=~f$_b|M^uzpYKtzagva4cA=r)ED2MQU6 ztXjr^6jfDS%L!#XAdXXQuXw^F5KGVYXFKzfX6{op#J>r3hXfQkDi%|(eUJmK+*qCD z@M|F%=Vqq?;=Hjkuu#^b1^}V=!)>2R|L|LSdW3_O-ELq$u6N=CKnrNrgb}S@Fe4+? zn5|&iLhVh|S1&>!LPu}ghwz<=G%*L5(jAEa%T*1s1RA*W%3iDr&vm@#LEtZWlD}wV z1g2mSAY~8oWVd6{YD1k1iM?ApJ*}lP;{dN^F3iz$oQjjfxl1RM3FNlaw@j{86;^vAS+?zmI+1_dq!f_Yzs|Bk^?&P7} zT2drR+0U>o9q#0mr-5nB-KF$Y353sIx!%}YI=K;!kO%0%_{1T-)h_(VZGO%Iw z)jNA2i~R@*0;auA;2Dc7>jzRWzRbiXp0-)jS6mEk)~18v&ELGaGoD^-#g;B`0EZ-^ zF0uF6+9ZEcj31&;(dFT6SRbs2Pu>lsIU@0_h0-YSi%}7M0U6^9&!LDf&tom)r*`;( zOz}%>NJ}sV9~@ZrAbskUjjpISpdLy_s(}Fl`!Qa#VT`yyn|YAx+tSid@!1<)OLF-7 zaq9+!jxnF!$*4Tj-%11DYA=+q>sGka6bv2+CW*Hy|*lrgFSkPj#@u=h)EoQ|E$N8R?@V}PQA?-M+ni)ZqhE%4!&aI%~7QnxCr ztTs32@l0)`Pw`2=j-9&m#x2T6J^0n(x2@5&YL<=n^{E^<;mFVvNSdF;7pB6|B$?h1 z=a!AW-vrI3!x1(2uQcGnDSl#Vpgv`^3!mNoY7+tk?3~f)N;GZ7DI)5W4=yNBtl_*^ z{Um>T!vLJ3!TPQ3d>M%P*MH;A;8t8;$D<2?;IBWxJKfQWt~7~|Tzv}|A#F|~Gn|Je zUT^b8bsnk7$(ixDq5u_i){IczzHf3;W4-pmwuXal$G{`yfWxIJf&e+<(e%@TkTo-4 zUfY?*>hzfozk-Vh-AF!EbtfHBNBid^WBU_Fv7la_rif}F1&qO(Xw=>(uVJzl?9_ha zZPPkh+N-@@h5iMdb19XiEoO{Mpb|rR9Z`Z5rhUCe4Cu!C`l4)@v&oH2fG-c8@5f7J z!VT<})-Yv^i*fYBJHFpP(*V_?KT%d~H^DS8q{;+wl6n(yK_oDt_0=r^>#Q^$UgNdI5-h-rHkS@+Hy9pDCp4>fZuj`LKB^Nm@pY$(#vptA^?y+EsK*yPx*z&u7mZo<4b!cHyrltZBTaB6h58u`R)- zhEhfs(w?+u2XfOGMF+&Q(QfrXW@PW+?e^+X9a#2T*0k| z6eq#H3M|e;HJTnbU;Ulm5lteCiL=`)kR~S6mPmga#iHv$lO~;G?IiuUvakRJv#D3q zkcmZ^EYda0;qhNt)@yYYQJsP(ci>1&jEk}k`)%bE)uZ{GXzgrzja6NJ zJ%z7+?Dz8(N6213T}Q?Tdnf*ie&If|c#O zoYF2+YJbHQwVT;D7uM{yT=v^n-G{W%wAuNYDESTmwZ7p{FNvD#wri)R0@n>Cy-wwRxs1 zT|<5wkBE|)vLd(KLOicI%s)$W#_lHAh)0)rFFnCw(cmx!Kb5f@lOCIHeW;Se+)4Oc+*K+hN zMqzW0&~A+z@S)b|Bj}chNb{zuU2{|P_;vm7Rp|^=VF}ush8q37%iWu78`hm4q*s^7 zmP6g>HkH%F4wEB0S(fCQU%Rx^m~?GaB_U367rnUH1iG!{v&co$6P%j4%8c5{i0O{m zfB&u1pdbrfJ{~c<_6VidBRSum+aT~BrjD}Ea@tNU^f|1TQn-C?G1$BDc@Ovv9%-dj zZ9H1U_#;)Q8FW=4}HaWDwNGAO+|E1Gkt8j#4`mZDcx-5GLDBI1`cqMy!^k5OnSb` zUH?tPYiiD`^{q}6#fBiJShK8Ava+B6<^O2qnm&1}f{(|L?>>Geb-h}btQ=go4ic~~ zyVd)!k`gOZpdXH&*dVIIzvuPKvD?TsHN{654`hP@vi|c%o0-*Pq3!#t>#kN|w)z@{ z+amXY%GT72mYb&0LLkZ6BNB8I-ZqCB8kcFVFp;NvyBq(0>-^;LpWc(b__!s?>9(K$ zC(N;5OM?$lJ1k(ng?%o)|EVqX4R(Am-AkIhq?iWaT?>B;G!$qm)z1qBj2Es%7M6+r zkU-hgn)!;k9k%PNtNHE|gYT(CB3e19rPq z$=YrpgR;7&N)#1f3VtCjC(E^gUFaZE{ASF{L(XGjYd;JeFr6~V_cOY&Wdp+q@?3;? zJkSh0t7oy}TAh3fJ(J@IoUOU4oZy0U(!WU;zAdH}N7a-)!(Gn-UZZhYax!BU+tG4< z{xC>jAHT1?Vf#5cUkf$YJjVAq zATBc}dF*tB@o7s$@qc$#_5*=3+RRev)b zKfDfBIN!5Wd2W_Fy)aol7cNn+>VG?Cz{Q@VYBw}^c+>*P8T@l;NB>BF2HlKkm;Lfi zuYbfNS8#!g-MAH0*KiBd8N2^U;c-^W_(6~7Ce*<(;7T!Hb^PMAyiZ4oy$%`TvgfDlI?1neR(>EhDM#&I|uzq&=v5u`A*{J|Y3Ko-MX} zRYs(cQ$rsxY)ja!u)_kV;k*iw73ZjbDLp0#2icC3_OhuubvJIVauvM@R@cx#JD&h~ zppUd(8(X*K=Wn;}B*bW)u9!;?LYV8g71(`VnIw*MoYGyUbG~PBx7m?~8(c|2b+Phu z)}4P3>KOg!!9?{t7+8JXNRkoB<3tCqEvH+Cv1?s_w(wYWdh&C2wbwXgkWnc*?{Hzc zk8{G}GM!r+g^bGpOHt@#)e*E5*q(*nOLif>!qhkoG_V6?!;FhV3VB=C@e19O+$sW% zrTRhF$)nm^>E3`NBwSpbNVDItgq8d$`Cle-iBoesV4enBccrU~A@Oag{J`MH)-4ii zT_3e%cA+>9+jzo0;yK|%n-th|NVi#3>+PFcXRt=k3+kS34}@eN)I$mW-<5SU2vQH6 z<8&L1aGB2#y2arLR@Vg#M2d~o&^|B_{E_g3_*3`9>Z-L4Jxo2;$$@(4;5yo?wdgPn z^(mPO<6}jx$-*d{{b<<}2w2p`NY~+bx94LTR0?ArKGlRS9hf7}Xy(?thH8YKT_s*v zm*uH=OzOBI=a7aHTR3vnv4$+d4_ae}Tuc|2yAvI>Yd>F?OT{*0-tr7*!XpX7^$22hy zXg1TK30g|!f>P02ka1v@JP}cWRr&?vH|xk?j$Pdo@jOE9(fO+7RS3yxO_jn^;j!~t z4l?>$_4;yIgEyvUD?|Yi`7%SRCyXK&W-6!t&NTDa5{C68#H+#w|sT1J_}{ zOB8HfUj#wX$IIvW*4BeWL`0Ee3T!)x{}FHA#%NaOU5>1CM4gw;zS!KIKGXxPVoym} z{BBx#rgmZXwJWcf%ME9lEwHgIw|L(v6rn}gSS@c>S8k2+An^WTV&{E!C(n$pgU9Jt zz#$$+&{T?E&->==@fun5pG~k#6<#K;&}lIAcrC>|pFgzxY)qd?p-XE&uB}P^BgXR@ zVGrhoFNBXLxXx+^q;rz6_jh$G4wXMYH=Wggk(%mJ6*AFk+AO0q>I z`!d1moOQP>%QE>ECR1$}1OzLO4if8EYpfq55Deai2OB_e7v+>zfl2(6ANA7=v+!P0 z&R((sK10++V`@ZtV!45XnR4$Evg5pXlJ;yl3){sOd6mYgzRcZeJ9Rfc{%s2aPi|Az z%XW23Z-=I(TSe5TVAtP7M_($?DwWF9C>#c()XSXEimMaVDj^{uuccPCEX$gSpKJdZ zr~Ol?d35qalsQFINW`HiqR|x z{9^hW_bR!1uS3iKBRBj7(S}!!9wE|EQPdVQO0@!5NDC^!SvG!FPVDKjTjNr&h=c%2wr&$aUE(_i25ilsWxXOCj3V3wqa!Vv14v))rSNB^Qea@uyeyoY-6MB

    ww|0lIMG~}W^Hn{3cDWfdSj3~^XD*S#?DLlc91soK! zOud(0*}TBNHBPzn>`ZnZKcd5-`*=3%&NU4dGXtxkc)cNk2a%5I@JuBWgFFd_@L25h zVEXhR<6~itVI83x8swola~V?Csn1mK3{F%#;YWgNS}B$ zweMT#)gI|vt3q)HQ0AJC8!WKG4ANGZ)vajOkM^gf*w_peWW@+WWlEP>j>Cb+ypjQ5 zOaAjFWnD?EX>1$oOlBh-ho7}3$p~dhq)8L_tg}(k`Oe1inaKsqgGtMDgVbea-)_g{ zmXvOO(R$8Tj%lezhrpq2&DSoM)juSl@L-Cf9AWXZs=kpniSqB_`$lh!tYveCO}D~W z*Tn;I_S{5;u~3e{CDit`)u5dvxuEWRHlur^3{@1`-1=K;It_UKX=r41|F73=D|JH zu}Owu5aTY+OM!aV>yhJc8u;=xA;FlqeP&ZhmBiZQ4Vd5}y*=rcGPAam`XQe@%#!>4 z?*{hnLhQEn%d6+TN^Gk*Hm2uli^Z}N)K^gpy>AB82o(GoOm-H1xL%3QrCVUpp=Ysh z1=Fg@b^4gXM+do`KSK-l{;h_YE6e(Pvw4Yc-a0{%S6im0axVtCnL}djqr+^AX{;>A zd}Rk-d&abBkI<3RE}M34Us1!qnR=v)NK8yDUdSmE>bub#P)K zeS#fsz361!=?G#df|^YN)}v4+)g2?@_C4ciYmJw2^#H^%rAMiVOh+fKT+!&Z_p|f$&c=i~jtJb|3lMrj~u@AYXx(9~qtKY|lkMP*0bzS*uH&2s{{GV)XJ< zA0_Ra85h%GQZ}P8U57Qq#NFUJ<|2K9lc-VGd$aEnSorU1t!ji zfzTTeP*w#eI7m8*dYa3#aI$?o?+_yv0;aF(dg6yP$V05S^M4oArogX>+@soDyUeQ- z48sF(3)H}duS=J~`IK_Wmk!`ni)tU5aNU?s{!y@;X)yluUn6~+~)Wzm4m@~;_$?E$%{ zRp34n-+b*~z*lbEc|mORv*iD^9QJ?GdA`mJ zcRAfDbmO7*(*Ks^^0q9Dq&vX#(5ft=INLOq%j!PS3IY$QDB>ygdQ@0sp?Biz-bSVH z=ddC0G{CK+u=Qs9x&bVt=I0AX$KK?dN&ryA&aLZ=+cW?vL+h0Ro!yqT4xF%uU#oIb z?5z5(CBP_xv!-o(PP6<01=P(O)hVwVxQn6!09nqqdj8Up@doYAP6`sym%q@ibTun8 zI=Ze72yN}Oc-}_IQgnq?cf~h91ekq%+yk+K zX*zl_U!6hqxnJ4BO?t#LC+y=7LT)$4%Ju6-sB+EF_fKy(vbLuA=&y7sZ`~YNxp^Fm z8WbDQg03;&UBlvGMl$9DjWjB}v%co<4~F~G#!*97a%Pyu*u~k`^|q6|x%Yu@f4TXK z?=3<*xD_>^BaRvj)?Ia6%>VOA1m!Jcq8rv*4JY>wUzd66K8D8*Aig7AvTH?(&B(HR zc{EOcw++%BLxYeRt`EyXV^%!6@oU+eW=oCj8dl0$p+`EMM^W9jd|e9u&?Bw!z2-MR zPd83=yVXDOSdS;BWoR&2Bab6`Tz~Ga%F!45&7B)+eCi>ke(>02UY%)M=p5C!lRhqy z+c!yc#7Is(SMZ?v!zcrJOm%NL? zu=xZB{ce@)odcel?~Q_SAFdVHUB&84^`CP_oyPE$Zk}OF1ORhtPJH%cgVo^Y-L|aY zc7s5|;?<+Fq}$bVV_$v%pLH9(MRjv~lP=1O5b|2ulVV~w!qb)GF|PL^z&w~`{Nt_Y zZJ~-a;H%TGeZKclTR<}z=zsSKvj=IJ$*}&YfA8!ktmOdTSJ@vZ>+S}!$@+$S>|bL6 z;B`k7nFri2%tvKC)qh(Yh{b!rl)-D5)zzq{)G{=&vS8Xg_DNm?A%pOv8OPE0KtFP> z3bbc{)h`BUogP!C8)ib6EhCX-c{%eP7VZ-(+&!mS} zj-K{d26VjZ{kA?k#dUOu?wIkUWaRkj@)6W9Fs<#Cgy=8qJMFu_K4F;@jdp@85D_yC z;HsD;^D zJh@@J-=tlltDKznvQ5>}9D!Q8^~j0DIwKsKmjjATfO?WqUM^WL#nQ&r8bs?vP%;)Tqz?F;b0AVP3)ammTclbf8J#4Ij8_VU_IJ+!g0 zQM0nj1BDZVBO}>uZBn|RZMdSwF~oJWVDO{KfiWyKCkAbSnfI_Xe~m$IjPZNf)>^tf zbZ*Z7Gi#Z&bCJ zxXayTG$Ls6Hf@7IiWApO_fe{7rm@aHLIIz^Vh$>p@PmJW zduxIe6>^xpa^gK0d82sx^wRf#73p7A~;aPYzl(V6VK_9uiKc1bYH~0*trT6$cz5aa5ETg3M zS|wvS!z-4YC({7wi-WP)q-JABN76@YRSp}L+G!#hxXK>6C21l4EF51F?zjw2ED*Fl zuo%cxfaLJea53Rq)i4;BhVQr*wg~#Lq*L<$zS_IAyd;uo$W0O5Ygg#TpA-6X_s9Ba zApZtI{Whi44Rv>H#I{2z-cvyFq1X;w# zmsaXRfXr}_*fo<*zM7^&={9vt;*51x-sMvcZsH1`;&`urwGtQ2pLear*W-MYK*#kg zF!-xv`RCUhZ^uX%pTa(}_Y?seAoXG=Z%E#RUa~&f!ZhRQ6sx zkmf1pQ6f*|e>C(**nrxbuhb*5r$9fFv7)EV+>OO6&9mAjCMMb?#(`kUtksGB=*N2m zyKRRZ?!m2SNOEDEqkJc!up#Vr%rro7j!i7|HbpK|(M*H=v)xX05EAbNNIAd(iWtna zLx&;N=ihBIIcxV#6xbp1P+N$i0ksS2Nl6*R?W&mEF43&KFMokbP+H9j>p1y=w@;~g zdK#!sNr)om@t)=OU+)7-)^D%7V?iwn`{quizI7Q7a}EyXc~W2!bQ%S6Y&^58sGo0r zBoSV*Z5%Mpj$G4F6htgHKUE1j9E(c7;{(jhCZmfb=|lWJFqoT+%ZK%>2_PU6&3|y{ zAQk6W>VEJ1N;6myG!OEA%ArBEs-6MWL2QjJN_IdnsFG%U(GCTy}b= z8pV%olqSpJrEL7UO*m)DM87Jhlrwkiro81-c)^vc8umaZWfl73^DYS-XBK`wa?$Xf z&uWd0O}%j1u!JgH)SE+cnn^8{bC{x&izI9L=lj0=MU@MC>htPrgx%-U?Jg}J(ISzm z;HXj(3c6lzCX9^^)AX+{WALVOKwd6H;~b8In>Saht6rXcnLZsxxcGUv0CurqVXd91 z^4+mn|M}^DVgOp31lg)mHzoi;G)m2V-|TkEb78g9`6=&r&vGfKe5f&rM!URD%u?LfcO11C19%z|;eBVTypIk8OTvHGy4p8j8N?n@`Ywcgx!pjV=|4O? z>^p62N*!<{H#Kt+a(uQEf(c_kFU#?wm{El1^+$?liV_&%#s*E5bX-X8%z-y<&IT;F zZ+?!I)m08(cBZ_00jTuU(o$Y<%~!4TOSAv)wzz*23^YGHbg+iEwSeC4Y zY9{je&d)^%a{rK(cyApP63$Vq5anONh##VZ-<2VvfuB1I!@Id>=Hd4*mLF@#jLC{!aA-=wr#*m)#86)Zg%MpK>{|deaMZ3~}8o z3bj{Vz?d)Bf1M$y%X$^kyl2HYATM4ZQMqGZCH*#t!SCL?=MRR`ge{duvXXj_Li5s3 zyqXllt8#V)_?Omf3Lt$85OgsQ+w$I9pIlGqHha}RgwJc&l`_$GeHU-K>l-P{^2(77 z3WA*P)=LHxMwUWa@saH8gr(t25A&yKwr)+72XAV!^)v z43O2F_<0GASMp_Nb>%FiLM(dx-vJeZkGt}s#%}ZSym9pjZ-Z#_rfTIxG`;@N+#mYm zedhxk)clP8A6Zuc71h>- zQJ(S)#6koF3=nCNZWINElx`3y=>};GK#`J^&Y=bvBqaw#Ko|iTy1Qlwi2>>VTzKYx zmur~!)}4D#?6c$B-#+Ifn3P+$ZiSe}+&P^((sqVMc+gk;w_$+35^j8{b{Z-v(SS3 zWCgFjfklwDaXCHL-64$+9D}b^xUiqYKrYXt&mq?|t6cHy9wljMpT>V}etGx;!VaoH zTq~Y9rfM4+3P)Yr5>H#JV!4w~<9|6`1Xl_lg0rJI2FvKd8AZ+B$i#hZ6VQyI$y0=k zEViDy^j0y@0|3~gKy)K(_k7BYvLxChiMG5>Qx{<%=qK#=ObFJ@J2Mqxc&vxnJ-B&z z991v;r89){vxG9)^7=D!gvWp*(|rAaua2rJdv_THT%^^GC998u-z{|NdTyUAK`b%|-Nl+@*rnN(STVT9|#d z@}wikr2oA4a>%10J1x5%l`tar1qed5uycsg4M#k8H(A`R>hFbHS7{-2hR#W>1UKeu zBdMvivS3D);r~WI1L%j%)?5Yx`1nL;u7p5dKx*6h<1g<1&Pasb<2|8Tik}?;uwz0( zr{|Nwr8^Ew8l+o0A=k-$4*-Jy8uO^;9=@BzqHG7=%t*nWWKJ2A;yPh11haB5kVoonPjzr4vP`-@nl+mLS@0)Q&CEsbOE1N=hPB2yU8~_f7h#xbkvK=A6x=~eaVIq zdfK)WwmCN!jZr@?8Tm>YHLXdr<^}R_BTM|5Ak(hwMr);IRUpGmJS$ChxbW-;5rwY{2P>X^~OsIRjG9R zgd9LM39FsUOFDRyjBAxEqPLZz29$h=j(Oire$88iAjg;Xx)A{F^1;Sxrjy_t3hV|4I*P3{`7fJa(;lxBo?9WI z3I^nCRGM|7Li({VIR(d>2?)vh@4A}x<;lb3hEhm_=-#U1%2!ASXc9CevQ>g=o{3yx z{4B|t)hn%@I@=A@3-f2RLiI@#(Odd2>fr z$#=QEr<~mPS_fybE8YwoCC}G+_Qx9!|BfzM2^XtJsZ8?gh`lHj(&Th`Rn3*ndAcCWZpW&sks;Go6g04ix7yX}uy*4hOhJj*#2B z`{bYbUxNHd^zF4mTb1l@B=f}GO}A6|p>*nOWvI8ouaP4__+TReg9s5Ln1llvUP-&K z8%&H2b15hIU_$mw0*<}4Gf+)i9KM9s7Q*hCSDvoAk0`Y&)1WPpnR zHkv^W4x&))E#JS!cAl;SrqXr(ePdj9R48lNwOmEqqxQ<660;9Kat$Q$FTWc7Ax0UCzB5{J56; zhd-Vc|EP+XP|GS2aF}koM}s#TD`Xt=Im5HiEa+0zR3<>~Uk@>u%4fSYtJ*PP;T#JN z6AV6@E}L0f8DS@d3*-soo`BUU2GnAMf19cpsR;g7N$eqP!N7;dWl^8lW zMOOZD#4?2T6{DAKNtfXejSB`UQ!k}*IBBMwv$T6v0S zjn+osQ2Fv8pkO=?L;4kMueNlc9Xw$*D{*YZOx1o?2LL64z(U|bt^*td(9tX$NL(>e~&lOsAj`(;72JbVQ! zilsN>oZUBQNnRS1JIcnVvyJ3h>Z}Jmr+YJEG@HkPUh5C1(0LdGR{d2Y(7A>@)Sjyl zIE>;>3rghvYVE!h2JEwmuOTGiRrza**7O@&^COY-o1c4Rlw3FQRvwGf{DILQ#6;Xb zXjE*Z_lONhgiYO9oBVD@>XPFkX7|1)S0v6WbWy}SWXFm+7?@^B`nM&4{?vnZlc*;R z5H8yvIh^K!%2l5Di0;}P4)e!z_GukL|5ts$f&!5$GA8aDSGuX$o_%+)7Yq|1Kh?Cr zecT}zU@sM=I%JhaIv}=_vE#t$XeXo^MV;wDCFl zlm_^|EpOwi|Cv)(=vxh;W`$F39dSHqaASPlZ}SJf*68njn^_m$cU7{N5!qYf4n#f8 z*qgI=E1va{dvM)2u_vt@>n#BeRE=1(r;j+cwgrY%BRXmg%78tp0&*F=@WNQ8)&rTj zfR8O+%3|bV{-7McB$TW!pIUtE&}J)Y=X?6#ulZ_K-zB4U@9W3kUFg5?KI!Y2u^gJ_ ztD`{0$E~$kH-}Y$?XL4dbY&66&F)r0eASxvY=RnGWx8O=GJvgTPk$SIL4qwz+|7|$ zr6Fm(?3*k}n*tq#1`uh-{P@D(YdfGmrp4Iwc6O|8QTJ|nn@S;BmfFdzvO3GACmtRkuYp-IIU`3${cs_$58j7CULcdf}j$VK@M}r6C>$L^Byw)>pAno6e>DNU) z*iOh+t$WUZ9sFirUrrgScc|H~`T&v|rb*mCGZDfx_!w#G36{~#_?@u7&;-!h9f=c=L3*{0qnecdO3DvM;sho+a)1hLOZv+ zG14Q;Gc@^-Y34zy!ryGVZ|B%52jP+3pGMpVJI{B>Ct7sSr_Xm5^DK5fuctcc*RsbZ z!wzWMdF{tu3k~ksX8a?lDd_UbN~lWNiuw{*fs$HdC9?ikdL7*T-r4%Bv#AUeAa}vZ z?R)iD_5BYiLyk=hhXyI+V+s*B6Sc*A2pnV>Gat8AI&}$fW*l3J1k1D=Jx6R*%!AV_ zRS|AHTnv}xk#2c6R@|X?Q43W_`RJAcr!E|1c6@CrhGGPq^8noCHfw$$nk@-JTEQZF zA6_iPU3d)`H_){Gx@shL_T-6zw*!o<*Jt18A$l|}IL&U8aGSbW@}6j!AG5Dm!^tZ% z(VIUCe&3qe+G7r^ay4(rq%n9zzE<0M8BDlcInyfo3^Ph)JCPqo+$N*iSRtZPWbPIE zA6ZZF&?(x>{zOzV?3$s5CssJsf5mFLXa~4@ZoKLH>T1X=wA0*fP)L1lDAR!D>>>vm zj}51YSNm9{II0eUh`UFhd4uC6(?BX&OmF*=fSX4FC_*M7O$YQn<9TNmZ~H&w|aaUH=8r=@0N zEJ~AU5_Pil618&ONvt1(fcEo0LITqoPs_6&?w+JlUnX|6-0|`GkBHTJqU(U=#K%5n z4vchBQq!1k!g#yJ4G#~`22NR)!I9)sy2HsMi-K1>B8{6k;DQopHmYX}i$1=`k!eIB=mGl{1Lg z-&hys@<}OikctGvEfjyLrdRbhL*N(lgWgDk-Xz&hG|WL8X-YtSadmU!^4M|^TK&Rt zhO2NSh)UpZ0raM2IM0r6EbAt=@JLz^l|k*>SGZSq(xkXPl7Y*$ENtKX2CZW~HtOti zo1U?nK-<-v85)@B4-He{)lLX)|3TU7W#}%`dY|V3veb<9H{Dw(y>JTl2qCtAV)$5= zUg-rl$nI{GsLDQd@zXV%FMvxITn-f$DUxJj6HwtGBKvm!`Y123U&+AZZpOq; zVUQy1>cTx^Brj)-%GMC}2>fiH%1J}`-Ux)Bp6@6$0Bpx+`i0+#UmXbS)f>lfQNZUr zFi~yHSV){&FE4hz8mq3Wu3i^Kvg(y9jd&mxgxFXARZGv~SoLuATsbQwSfY6BKm!yt zb{r?4ZxvYT3~f#PJLC(?d~O~8p<{A^cc2McUv zIRRF}=gSbIZXfXG7OS_dT&i>cp{RzX2Qu?FnC>Ed8nKRARq+5G1i z9elCDBzT;wD$f~+%z2->%Ws}G5}9MT`SI)Zs^QMudVGBOROk62u7ZQKJ`^0PrY=C$LllTlq& zt?O8&pj8kySKzO`+w<-&KV2h0WUo#DSv^keI(rTBJp7Iq9LK&$2C(FrKnq|fH%7el zVtK6P#Jj?m$53j2!whnC)gpLDZI1sCt&CumZG5K_0ArU*W<2;0Vo6TcP)H$ zc_yIk7wEk|*Dm-MZPhM&J6T3kw%TnEp-dNPCW| z?uIv{zhlwp(Tzt|YJ-w3(3%?2wfT4EpsLI>uo7-EaIhT@aMns6RtXVm0Y=yf56@-2 zii;-)@;4Mr&4!zZ@WWdncnz47IH)rU`mfH2fc_t-6#?WN%IfNw>+4RiCYqqfuYTp8 z4h9~#v(&LrV&t*Db?>m?=hp(e-lwz1x;^yoYUo_=$!DxZ!qUjtk5Ez_(YA;`ZA z2(18CzEBPh1^kloJBoQVeqn&79f2;lY@!gtWU!}JVgu^|!>2D4a$#t%V{{QVs}z9e zU1!|)qcEiOX{OHGNN13!QjwE-GLx3Ymkk^Zb+soi8FVP4q;lTmH`h<`ZMDCXB5nah z>SMfPK(24*Rjq460g@a@d5ylj?XoiY63H&x@%-jtUk^U74z(l<KV zFiA3jq2)Hbuw!Y%KFW2dd?V*>3>U9R^7}gkO#t}r@-RrQxEBYIq|i*x%m?~5WNNzWN6 zq`W#Q`QU`KdMLrUe>HAK%NSRqL^$7y9z7AwM}I-Lt?@=M(06=^8(#?N!#AgQAGmGu zv=kZzS&vTbe7t@zX0s(njifE3!@kx&&viknKH&B?N>dOo|1A0XZB-Ffo?xEeA|Hd2 zP?c3iDnTP>RL7C8!pqCc{QEnr4BbD;0f(b6&aA76C|GHjC803ud}=RQUrgNMN4-;d z?~QZUeJ@CCzRJ~RvzYZ(HAiZ|jztaJIUKf{6L>f}MYxW1M9g-M9vsjaYDv8HZDQ;5 zvCo_slpj3ny;`2iyZJ7}h_D<=geBIFCFxYsBPL&Mo7!V?5(n@8^|7!vcq*cuYV;1K zUVpAXpMpd)%93_yO+TxI>R~yA-10V|Z1Y&`2N@chV%af~KNT;JG9r0AHM8w?8wC@( zYtJq-YDP`MIKNTyLLDYopF!kKR1v6xoolW2D4Lu^=6$|vfp63 z5`?KIa@Wa=aGg}@QSQdgm^)*g>k3jYLVB3DpdtG_*SxMNIw$RUR>_ycpWEE?m{Zi6 zrZx1c7@F~1cM;XQ$a7`)cH-NcPT_@eo5 zZwC+m>f>`y+$*+9dfHPtTQn zITSdXdr1}=ohIrDv@Y8LPc}B$T9CrcFmVd<$i>r*hGpGFm7JvUT1iX5(SbxI^$}A8 zbYRo}iHhHH>x$;WE%Si+2NQt~vfmN$u|rf|-xm;Qys43gAqUjjg~`&aM@(6xcRZsH zAy)^ju_V1`Lp0(Za_%GT1%tK={5)5FHx_iX5=w#PZGWkh!M z?+3Xyy2S+%j{f@{$=Og;`Ut1Kcf00YuQ~kZX0zZ$1OyH=ZB_Xq1!P}1F<H-fQ`Vk|&8$h3SPeJce$D zu8lQ1_UraPYw;Tt=bynLFPm2_t7C$LmU0v0zG}S&c)u+{ky1caSCaKeHFgArf(k#- z1)3~jW{f@js&CTIFp~+W>irotd2=`|T7jY*uD2DV`T3k(lFRWZWtio|{dI+`Jy-Dr z?Z$8737|dsQC<^oO1{``+fBAy`6mv0yZd>qRUU-saosTg+?hX>^elCP zmo4gE^1s@jEz^MXQ1%7hBwNgBH=taf6_KB%YR5t2ZJAYkIR6@v=pVX5E|X2`5}rI# z;O=sCMk#La(bw4suM!|;?UH1arpksQ+eKn#anjC-@3PFdHXdELaaCL)pY(-zAO*ay z(4>^t=~0;~pgRq_;#i2O1$$pV4Ps(r>j9_(l0M;SO8vom59by76y*e~q^%`;e#ZwB z;2^7x9odvFo~~|l!WAW);ODr(#}7@DH}cqqN8V^camg1c3f`{B|AJAu+kyC#^IKQ3 z_LUxOAyYxtJ!R4(h^~YxzX6ZWk{KRV?;lDTuJoDO$z|`kJ<&6|`LK=f)14BdS9fnn z1X^hFI~LeU z>GI_|#fYwBsXUONhbUJpKhT=~;L+#5w9TSre5eb6XU|Ydm1`%RRs; zdaf5HW~m`{Lp#U0{xVGz37c9|?IOK*FnwdlOVI=QHSY3al06>zV#NB~1)zDNYv122 zF!V|>evpZ*N5T#o=e>xiw#Z_!KVQ&Tj1%xI$de2Ec2`~~Dk^rOy!KU>a2*-JAU3IbR(=cFg8(sC)8$M1(5(Kt zQp|Dd$60h$-5f~dZiAJ-MrD9&ZdKXFuDy|W?&pE9uEua*A>75mjcAs_(BpEYMvylS zrd;VLFqn#KeT9 z9H!XF*qEQ{FT2rl?5Mtwh>2Gt4exd4-QF_0+?%DIis^V2e5)^LkZ9@S0ELAHzLGC1 z#Bq%1akVsPxClfyNPBmaWejwnCMEXetuk)-t#yY|fVFRyCQyf&?PcoOl2i3pmAUnm z_}E;y`H`V_jdKLN{4b6Zo8dp8Nex6SQ*xZG{nY+yPkGfb>+V^!Q1ZG+jX_$I_*Ud= z-OMxJ`~vbky!ApFUN!N zdRZY;rW)2#OkBP>afiI4*ba=|RqigUI7{>ud9&(D@*9@XhbipQ@T~%)cAD{(Th&Xm zHxjxpb8qc#31Jq1zcm%Q_Tsrim9yNDDa{)8PZJIVSK`4r+;=05_^49R((>}oe+fzw z<#q~hQc8s5f`Ci@+q{3JVeKsrMY>FgZj8TXV4I{9Kjh~;e#b7p2bpvx(@|wl6y#z6 z!)Jc;qH@wsRc71rI{7uVxTX9V_X4Dx$X31#UB*8t3G^5_Iq9!UzDB0%ZTF#JAU~$X z&d9(31Lznd6O%o^RFwGN;}Mgv={EIN-j00E{f6xAb`pp1^Fxu;!d!3cpy1mxHleze#Z#Rfp^px~)yk)RaNM@``v{f>3|>bH1iVZYJSQO;%OD?gD> zPi3!}>EcMWt8QGd}z+9e50lqNt<=di5)!TU;?Bzw&Law}jiRf35TSZB!bouqA z@{LHU`N282?>Kfk7bvcM|7HPiD2opQtJd49=5lI(puI(O1g8x}Z1=&acw4bOED_ui zV~!dxY%Jj|DiqF4MD}H=p|ev(L_Xdb7b@QmuZ{_i|A?YF0-W;5shJrbuQp0o98h}z zRspC?sdD zi~I7?uK~|Y$5E_KyJeOF4No6#f9#dMj=iwdt#relt0cJXaNdl~cv?%0f-+{V*25DGf4J=# zobwttIv$eZ`Ih@kq(ZARPtHclH?P$WmuI#G6xC)eZw+N>Q1mf1frpe|20nXl?|Xw{ z^B&e?M@N{y&H;<@;&pjCBClKuWF#Uw*#BzTXO1>CYS(<^TVr21Yh}2#vTI6$u#lR@ zYg-Tl04>L3Afvt)Xm1%kMae50Y1DTI0u}){!SD6YV zw7_9INqDRDqprXG^3nr>GY@K2190uBejR^N40zM$ktgTin?ws2g#?*(tZ0!O(ft!d z$L7js(qt}00%5tzcywxsL0QY}&sCKMl#D{+@_Xl(o)vRXEpvA7U<ttT|F*VM|3d+cVMi&E8mrb~fwbOoGhE@`S{-3TmA|!0GykZVP#AqC<8~jyL}F_0d*@T2f547tlpJFr zJF(M!cbKwlVp#r5YQ$X}ER-9o8GfbLBdHl~^Nd<*J8S)eo5apmyVI1dkV6|R8awAG zKy^$sAnCV_v<_aK6dzeV(=#2K#MvvU_7YB;aiQ1}IAzr2k??TdOVAN!SIdtYp)am1 z6+xcA!%xpYtJ=c!6H;Tb6|-xK`s#MVM0}^eT@^&jb#(=t<)x6MK0bZy&vI@M)~v1R zZNSK0!tDb)6#6IMr|HFqXDyMXftWF40yJp!^1}+qrh`?+kSCGMQg}E%aTjlCU3zcM z)tuW`&9vqh9;>p1{V4En@kd<2TG$0woP`Dk9O-DgW0)Dpl*Oj*rh&6v_5H z_Nq@%@6N4h2VzOJPE7!@JzF93L19mp4U8zT3_p9{VfFou9RhX!8Xxf?-(C zV)Kv~+hVhXwB+w|U#dG+?k}g4+A7t#58sL1TddH$##ACKGEY9!T}5wVCXV9Nh@1kT z0Xu8S@Dcqt@dD0f%j5N$?;rd4`}-GJ4e|TjOXhClX(;;O@qtDTG?#+g;$1@kdB;w~ z+qdW5&mYdgkI(y|?Be^SrpQH&Qt3dQr(ILQz!9AhyEAF~z6LteXMKgN4JaobgS2tX z@!lU=0QRf^9`Cy2|Gm9jWWg%J#qLJG?r?_MgQx&s zFk!ki9+8rgGL6Z3fiCQStf5*#-SPEnQUsHl8K_WpoqQ`n3#;=Z=>dQxr)59q)O5oz ziOG*P9{d&EPzHvyktS-ctH3NHwTPj90&}6R&{5whyF&roVRQOU^6^a`lm(i3q{j3o z#-QmjSCHyDsH;{^EmtLGO{;Tp?0$O`8BK(W&3Gywq2s<+kA%|0K~oQZ7T5U!rG9O{)hQ9xCv#nbO*&mawu z+U9T4{B+9UNhDL61S!7GQ3f&!3UB2^b{%x=TevjANx%rWCMMZO^DRbmuKQVGY!FDn z;4(yZvp}tm!&21-}X8g@99zFyNO!Li#56x=v;nHBqbJ2Ma`Y zwiIfs3(5KP+aqv1)JV7X;cNc;^fqX8@_JESm~+3)qHhLF`4nBfX>If_7YE8@)i(y* z<*kI3(hW1sDb^2#r#(kozB}ydXr*Xh!HtAM?!}8beI`MBAzL@N)R(!_{FCIF=So@U zJfaMlG2X7;22hc@lW@?ya>9k}UrKO}e zT~-Wb<9HS1g*Vf{;KunMasYlbc-HvRQg*v6O{AIL?Mcv7+0QcFVK?kLJJ92H;2sC! z;(E5;JM_ZlIf7v8p&vjQP!V_|>48dAzf|{yERpWPw7ENx=mx`c`Dz%!s5KXK;LCJ5 zImeqM-Ui|URaz-GKsoDT<*FRi5O4}&ID2~82Oy*H=HfF>kE#hdP%l~ zOk)YeMpe8`P`Ytt3Sae7gKC+oBt{@|Z8UjG(=>}!_VSYbO)_r-Ul5JG3IdsN*#toi z=}2Z%*6z?wxOA~*hh|gvaFrXEDTa2)6_;BM9N|f)!bd-LVhnrX=MC)V!M*^8L;SI?QD}lvKgf{1>E>%woF!%=tCl}l%V1NBQ*Xjw#LdNjgrgZ1& zP0Mlle%RD@OMsr2L(P|m-o5WP6nQkR^?kndqHE>U6MXi<7 zRhhuj@c@%4-w9RTzH@}vSRucwld*ow;jbqS9wR?c7^XzX;IpWQ)42yFD>h{0q0(?8y>Zh zNqvN%WMEonZxe_YQe3<1d$4G>arb5?HSBPtD_ScdsFTQC%sI ztYpENUnFdZ8Nv*Jz8T>( zbA6Lb42Jc5R9Ob=(yo1U9*i)FVaeGQX~n6>b=L^ElO7>rGjnn}kCADA)y|{K(uy?a zGIh0*ZF5|mZh_R$u*(b;mDkR)ocLdDV~;hb08_f4St@d1U8G+3=!s8d-=-Trh$U+D zyDkB9E%z9;IwdDrYIGRhdv^@8?nycuSEel_OvD9YY?+u%pV4)dqHddG4Y{d~J|a0; zQvOWzYSJ6FYIU#?2P){bT`nQHfuTkuGg{HbrHu8%=uuKqQU+)mpZqnAqxcoG-E9eY z_DSFPAWS-X6|?p&OJl`F`yh@WID>faT5)s=4FUGOR{DsZ;(@O00}ZP94&?$mn0a?jdpLvAS_7r^=ZUdk-alG)#hmeI;MSg> zKvCt#C5P~mg@}UTH7rlzEy(DK&S$cC)<*KZ-erqK#{xIz@TV0Ko!qnQT~n?m&bb{5 z{8nLUe5_gHv%(Wa%%;ut7cGwDlPrj_Tj08L%g1~vuj}S@B|Jv}BrYo{NtBT2jIxtc zi7PmZd?z9yffay<-@kvKMgsb<=+&<~DjFJD!1gT+S7}u^FLkHO#un+<9k(3(pn%8Y zSqiSao3UwopJj-?oC-=oB}zv;E2v#2-~L;9{f|z0tG~Ak*6TqICa-LX1INs=Dh*Y! z_JSq@J(Y5>DaQM2>KZu!6S06q!0Lwx2ypoZCJcU%AaU1CE`Mmqf6rnfigP4XxQNz% zEzvfCj~}KH-8lr#=3C-rpHGjq!tCvC$4bNbQ*#wrN(XXlUl5spdUcLM*!_cez~$t- zFOGwio~yLl4?sIx+xMzD>d70!Zu00z7A4>UBlxu3T8Sbpgw}fv_-Eqmp&F|PbWDHr zBMEoAVK%G9&2b~6qO(_}C&iDBr6{dF@_Z$$4j&i4`7*fM`^n)PMe?Y;-o4rX!yRU& zSweK=CWhlWcJXo&b02{HCY8=!+?l?sM4usk^(;XV4Zxbr_I5TkKiKGJpo=w`a1_uc#(;9ez;E5l0{#6P1@#4NkX+nRIntn!|L#HlmRU0!C&(pe%k*8x&=oQsolHd4!q58GI(njH}xokh-JJe!Tk!+aa76NqOIg|dg&#C&G~=?N1` zC%pzbh3it&Q@M4~%#)Sqk|nu8Oz_fBg_@eK3mhDpJbvHdkI4`XCsiYISRfiGPA&)V zmL=2MHMJ<^&6ceyT;AfCI;3-xQlGmCtJsXV{sHY=?H?Z0$Q4js>I^DR0_)`_vuQLm zkG`M7&0&~h7eXUKKi<4gFh6C-Pr$zjDlvP2*c$@p`Ek}dZ+=Mg<^Sw+a-rj_mA^FcXJqMq04wRcp5iZ|5v%{5cQpcq!9}o6LQf zVsvq&28Kp6(me2TWRjAcl+A4@3i!%iTwiDrJs~xl`*IKchRe8!2 zxA_S3g^)EjuqH^`fys^G=i^H0A@p8{6c8sjH@01ZMkwteR+1TQ#ySc1IDi5YsA!>T zb2=9C7PRwvw^D7!U(;jpJ$gOn$g1=&U%p)O(Ihf+ZG|ekv$M0WNdCzOc~$hNcQ&tB z0BSX%Zi?Q|DT-^O@m-G zt##8iElMx|0gl@L&{mmwsN@yjC;+OxlW8couzKOmcgG{6l8+H8Ct|qFBc-IJ={)d9 z9=LHv$dDUw+K%6cHVA{p)b|V(MN4MMhi@NG6+10x0%vkLBs7;$FA=D$-ElIM&GkR^ z(ADQoT|8#Z6?9u8vTnc>mBeqEjcsDZqD1@6^&!PZ?cSJYpF(=d*#2eI^P+I52dz)N$V)`u1sl$a&7{r?9H3j;v=Irw|f2A zNkn#RD%y&f5oOxuqczWfzgSxIsP-r^`5jvS6AL{R&ekmI`Jy}{?yJ}6v@kr!3?Pr3 z+p>T1p%iGuuS?X#C!jstS$b_RfgdQ(g$bmyX#0mutA_tsJ6mwI_oEvG_e|6tGydeIL?L8ki1NQ)>q_68PkSSp1PBmYlDzt}&_Q zb@msV$DT?(laXZz#5~rj90tjApGl&ngiPbk-Uh0tYGZgH#SmB119lgmt0kgwU_9J! z=tpyt!UiMZdU5aO90Izzq+(29ZCZ+AxHoM&tfteXLh~(<7&|;a;Ws(*J%y#voiL-R z;JXU_!LQE>_*dt2eJ|y~J!@m?JS*%@BB^E%!CB)77>1q|*3Qz?EW#>RColU7dz#?M zseSAfF>n~X{U>`!z(=KEu=eN2PObTg?A(RHVBEA0!ypQW4_H;?K4^+eo9>wePF_cz zPQ?|OAO8Abqh|wNYcP~sKD5p-C@PZ2Twpb=A0tbYj|<6(o97*P3@zJu6}=MWYx{B_ zh$L;z|1TmJHCeF!cMc$~4$CXKjCrOu{BnM$zq#O7dM6yTjA=abb6O*#qx3@iQwaYd zn1>+zXiyfZ@AZgt$Rt1k@BxQCHgtf@w&y+7X&@vKOahxfa79^=ugaoLuAcpx8Z3-` z1gOQoU7{vK?3ux>xY&7z0Hpi1xpPrP3!hJYM54+i)>fhW&P}pG{y{>~vz2vntN;81 z?^L6J_8kmkpl&6sEkc=}Dnm>#(gAm(s(3!`$d(gL;`Cl>b4ed)so4NC0q@m9qLdUc+;zN_3yZeds z9D|&BCUIuXqRf`<7-3PMe*onGqGpDNg&C+7u`1kB~3Z^0wwO8Kq`tWT( zKHr8S?}T1Hj-{bcd^5*wy*mTZiB>yGH>0Fv>FvD zx474ErCRDpe_9V35g*iXt=gt|kIA6$Qe2 zW3}oVEBZ{%JaL@rc`vw+#_TFau#k_Br!|qmAr!Cw9>C{sF*2Ij&+r=r0A55L ziAauqoo`=Uj(G)$DW{g7##n1b(gC(mTOu23Wa-hJ9|L*tSCm$!8P)}`!ak094{6sy zx&=$GvPfFl*tqoYi_YQqpgz4NJJa2a+N6P||7W^c)a}?k{avSBt3WTeFyUUU8PM3K ze-}E%+`Q6=Hg@l8z;s;{iHbg;l51zDda^B>>=reeun~)VE3XO8KDcO6?>#>Lc%iRQ z0;6W6DI3$A0@@D6cL3^Y&w8cPZQDqd0m7IM^|+fbu+t4BB3Gmi&Fha2yh_`5e(c*| z@;!y;>Mhd}x)xhlAQe+jXc`W=cy9B+LAux#@g)iXHb$z7W2b+>$VH7rZae(A_!if1 zt8Ap462d4%zKnW@c|uRzP}FSBRw*6q1fNM$fu?8mW;cdnVTi1Nu49b>;yZcQB?F(y z9VCnVt_XZ1de?*N0&H(1leBj$bu@eVT@%1hE#&(XtGP-6l&wh6X9ZN+htGQM!D)>; znC4V1JHF|F`^5ah!UfTwL*BO#L$}e9e8XQ9{H0rd1bj7P%0y!29*$)YDn*%183%;+ zSS|4uI!bLWD0@4?qMAWg{xh}n=Q6fxWh3eI1R?F1+rs{_v`0h*Ae8CGK!K4oqA`%Y zfLXdn*DV(yNfvUX0inQZ0el$ZrrYnQ~%>X0d< zUfl8d7`kT)^IFs{Qyq~BzL^j^xG4xVHgJb>MoM46GrCg|Q?{~fIppc{SYn$UA!_Gy9r)lMgnouU{L$f^rQ=d9ksn+7WnZYt({;GK(E zTAy8Wgzm0@pDw%0*JGhD9S)ZgUM8}ucTTBUzwPeBkz%KF@Hp=}hP*Sgp;KCpIINw@ zu{ycNxsX%4t6bI__2nNHRjB4Jw7iV7WwEjz986M4?37>|Jd&;#<0M%|M!@R>#`mF; zQpe7Vi5i-#fZP>!Q`U}ARfd6?*#iH)A&}Bi4)OwjU9U=bqu?U(35fao@)b1pyWR;~ zhT_THRqPK@6>Lf`f;OBO>mJNx+$xmco`Jv^o!3TX;UT-0c#8crJCs_w@Q8~F%!k9! z<@^nfnkfavBeAWAn9Vll%RuVA%6k(d!#OEJo*5Gkl5!JHyKMvWKPtrJQBbmLPZEpAVc%63cB_@Ry#b zIpZ-dK=5**ppgKN$LWe}Zp9YtYk6CB9_gU-4UgW3q{%P^RGt8(=Zp7HitQCV5P^#K(*CgEI zrj{Aly+Vmk9JmiP?=AFQiW^vm(=s0CXfv_T_vCJSrJ7V%j%PL(r-_{^F-9qqJ~Lc+ zM`>+}`D6%qbE0m5O-Oi#)z3^(UHyrDXfN2caUgl(k4AehPE;p*aNQA72%RiBNbaKI z5)k3M&VG4e^Y(LF=C0XK6snE)>C`SXY@XqxPYu?J(tdaT?I3uHXwEC?7PbCYiA=bP zL`L&1dMPTW*ukc<+=N)pM+MrpetS9;2QRyN-l>NN>l-29Ftt6PqS-SGJOXkpl(IeJ z%{l*mR8#IZ1wDxHxw_$q*RNV>!%BV_TjabnJiQdi-XcKA&B=M|%9&CPsO0Xq>y-z{Cy68`AeJs!b|B>!5$`?tH_$t* zQE>Z)O@~(AM1LNhS^2hwjvN=Tqow&;6_eX%T=DgA2zz+N5^2;luzk_REir|9WGfKl z)Kx0RmR77|5FoWj+vL1Mdgi}m@X%X!ajy~0EWNw|c=Kp`loDUE+N|_Y^}eudrk7Iu zZd!XhMlYdruccH^PdPP)!c8}LE-Jkr*hK#4K$m@0tyR_3j3G3A+yN5O{gue{bn&dL zosd8J;=Rbs#4cx@$R*0kR4}FHLs+@hA{4!~$x?;iDBE_NtIv^ubP{b-fwt6V@(iFn zr9@WQyDYVC?N58%y5{`6qy1oDM0pC!((jh$v39JSL;>(*9@9_eXy278#ieqtO!ppS zfc4xN?(_(S1`JyT(hQUZ1`%APfb4^CqP!m1SNK|^lA_`j$qTX70J7p<`Rz3R8?&`-Ov*IekOkPQ zZ7Db37ozC?W_us$_NcZy&tJT1)yncdawHPX3X5pGP}OE|Wb_Fn)^|8KR1_7j+BLz&#l=nkS_gP?0%=J(uzUBOxBO+r zf4%Oj0#~5^?sVbM)&yXM2~efKkRx_at61Nc+6;_Mweyh261XUCagBH`Pi1F*;p+{# zP|0t4dx(ml{3c-fhyva(qH$wkzyvJYHGpB61N0ZTY7Or$JKA;JwH zXlkG;YuZPt7>}POzmwKAfl$pY0IJ>v;(b|<2m|)8c6QgN0_LfyDZcR2zupGEJ@#W4 zm$w>3xOFcms$(2!=D(&Cu5^veIPxDVKImp|tIV{LyQR6TJ)uMIOE=rT>?D+Le>x4g zbVf4jc(`W zfAC#}M0%KTBK%aFbO|(pEMNjZy<;~p3^282zI+-Ys+^(2Zb8& zlb`tcQs~R$=DaO&S>0+CHVXlVBkMC=M|N#gvOZeowEdDZ?;v$0jf~Yut9Bur6N2@k zK%!WK2FCJ*t9er&;acu+^`(ujsA>ag-|umSv@o{~pS6a^ZvIU-bwX0o?q{15I9OIn z*T3Ru6D;hSXcJrwsJi?3lRqib8rU?ysUW8=!MWcwqc8kVFzGQmrkOv!!mvPoG;%Mil zHdV}?@LtN#K zj%8A2FF?{F#4s4DHAs%$6q@2sLXV3!yd=#}euNI=ewZ++4a4NPs6dm;r$HS^9`OXA zPqP7H2$FWXz$<);VBcN8E7stkBae-t8PSwH1~AoIYjaS6>ot(J3xMKClSGda!b4}} z$6P1jK$;lj`pd`aFisKXT${^{Mq5wybS{SdYUQll`f&>U5<<$c&u!pwo;L1zb(1E0 zvS<&nq;(GppuOp^*V?Jd4A-|^cKp4ezZskylFn19q zssVQpub*l@yv&(Y@Pi95k{6GEU;ORY20PwW0Kcm6Kvm)Bq!em=ajs- z@U}c4-7Xi(l$2=$a8^?B4JP-~r~9%ooK4*UKL(S4;M;y*#p<_AwA=2)#ur2R&*Jyg z>#7-=Q%DUJL~8;s9lQJBK2Eh*NGfV#*+HPO15uK3sW?`%I8(hd8~$ic{sDKgf2PIJ zf~7vmd+SCw3*EiEdTq{k|1-VqZt`*4QO8~4{Q$`5gu-6C;Mwqz_(YDddi*VWe}% z8kEgdTf+?>l@i8&DHEH$6Pl3;L-xw4QA=GbH;Uzu9gJ0>6GcxPoP~sP3NaIcEPH}X zvr(mwiUVUk=x*jBABPH<*JCwFqhc6XDvUH^-d-X2mk2cV3s?fqA8S(^3UX<7XC3SzqFi=^<%<=y$9E?yW8N0QC6{B;TKnb#m&L$6cR(gxz??a_IsROB)cMP)8zz8R z`VQ<^FwN_&o;osSNIgM7q^)rB^3H(;Q{S1#y}GeSaA9cNxA=R`hykiM8kE_juqE>* zf0bP3#TJRq72B${#0vrpU+kTFnMW!~bVueUuA=;4>MjaPEV*1k&I?Jz$*C@W27ih2 zD&&zEva_?V0SXyzrXVwo0u>#dT=SgrCjhPIVD=c(+tV|H8Qm{Qk&n#*p==I-r>1a_#cDX>st{jNfpLCnmRhq z&q%(wlP_D)nB2(L-cIQix@W}?7iS>0FE@iE)_R{e$D>Uf3Nu}NM~?|t#XYG)#^nfzsm@gG5HqwON5aLJmX zv&WOFXMgB)YQJgdIljC2>DMEuTxVC8h&AOXLZ+GE+@Fc}ES=2q7ubU6(_d*Hn1?Q? z2ld>if1)o=f3xX?mko$io(EdR6jc1uhe&a;41!uX{H(lZ#(n(;lhJB-xvZP2)-`)2 zr->-i`0S_Bl9DFW%8^OeL*H_F>~?r;aFkEa|#_SmYU&T!pa406aakuuXRFjPkh z?{Dc7l5t7|3a-3mWK6*Me5kE`D73#dJ_msER@K`^Af!C4_EdGe-x-M7hCusrO)?=w zkx}a>T@%+oV+8+tOR;oa6^FXC$&@={Ex1z`q_O9KyE0z>=R@-_wWa=rSc*Pu>{R-| z4F~Wf00OrN9QOe>k;3)HvZ_>tmEqqwNfdMq_}{<&LE809uC!t8HK07E`+_Z*SM~!4-yR7TLTwY?GO=#Wvl-IF2m3wig^;+4mZ&Ue0 z>%HveeP+q9i;@a8!plzz2yR6I$52lxMW(CB6de#M&jlc=g^Hj)RQc)Cc%9v`8*{yx zVStV>;naoeX$9Sy*Cx{~2J#-%>`te%}uKcU6* zVt6`tVW!>D1wUaDjn1SPFHN$}X+fVEM`XYiqtLiN3v5E?`K^1&Ic%<9Kx*>B<615e z79L)q2l9jqN$=6uEZdezJZRtSmKaGWKJ2$e=s!qa;0q$Ap6>P!#vGo0kY;N(G%%Q% z4AbcYcn$X~g*gK{c#s^!P!Mg+XfDKJ57LK?!qw7YtPq3+WVKR(6XrP6`2f^W0Tv}i zJ-vjn@o|8SrVnhSiS3{Vpd&mU0eDxyp9%~HQMp6ZE1=*Ba0srft~&nw{$P7=KX|b( z%{0BQX=L=Otg(TC0ffPzZ#}MTO3aKy^Mm76Cd7Br`HXQpbh_(?%dbV$M)XW&O> zg0np5ONP9lav7*L)ng?%HmXEo&fqazc65Y+jZGd5S)<&}aKK4W&kYsh)H{v>zrPm4%cKCP5$7C%EJn|7vnq1;7?~tjS#cQ~%M@CF>I4!V zTi!}Kz-nhrZ-m@kiFqSfWlI^fj=LS*BgEIPmcqm4rbU@L5zr;lr<3LFEwxifi{(Gu zhy!01)=r!agp3Rn7=WRApQ&_7Qf_l98Flvoi4~VS=iVn9K{;es(M8-=bo*od5kPCm zrCa;jKIWKkCg}R^|B57Hx$DbY=6+P6vG)j7uMqR3hPIAGU z<_`5MRfs#y&Bg5Ff{3Z0c7(k_PM2Nwhg?NMI-F(4yCs|O5zYBRA@LwP{^y)d4nbgk z^Zq^sxBRxdz3SLR7gm&JklEGLoR<_FW)kQvcdPNqLlNRe(>L|16K6_I+5H7IgW58BQp%Yf-3jNgL&JxwuCR{0>ep+~U$eCWBsq zN^F%sU)CM(+v~N*NcJ*fe>ooP1hP(6ZE8Q<%|3uV(kM@n6L98<`nlnV!#PgBI)$>> z^$<;ca|5MuQDC00*(t6qh6?r2@UhMV(m|y` z(^1c#c{(Dyv3i75#ju0*_j;3)J9X92KD*3f=2XqN^y89)!ysj|YkH!TNSPLRpkR{o zyj4fBnzy%Zw{%PIv~b!DYFELCwdk-nlIcul2V(HC@A(<|8V1jYK66js73aak6jqP1 zl7xM_D+=6#4B!^zT?0E`8DO}JjoQfkN$-!THL1cGW6X9DplljsD?uye^wbzc^XzeN z;Ik91WzM0^XQ#L#hWqSjuM{F<2A$lu&J)p zjGf+X>$;=R`F?8<@6Fh|1b3M4SB;Y^uDG7|yvecIwLG$Ue_LzY7oznzQ+gzZr0Wo%9LmMs^s3&m1*H;-%u7gSjZDLNjM-VK_baB^kYJ5>&kq&`3jOH1E>%KSbGoG<1YiO|BWn|2MiN;cU#ksxkWTVlbE1r| z##2wmkiNE(ka~*M>Ul~P*`6-6spyg^LQfj9Uy`H|Y$ce~#6dJmy#!+-O%eqUMqsIf z9eGpmawNE#P1*BNZ=`2pLTPnMZU33{mDNU)G=7ukV$jD3zS9Cts3aiG=~OSAEi_ah zZS_w*$zYR)y^6I^51VxU;X*tjSf}W&bx1xJjo5 zSg@j*@!d&`O8#PFvuAOt?>@I`FGgG88%%fA>F{?xOOm(XxNLic_jX&ZZvQi1-iVeA zbi_H=@#At6?Rq)r+Gic*zPITZx;E@oSS!C8mC^Z@jaKxZAn?L64Dibj11dVu&Eyq; z&)#mq&z*@fVH`5k$O;V#N=S|M(14J$VXRsdBY*sP=x66i&Z;BU-v0v`y^n{MH>&U2 zB0MeR{oCbAxTcd&k*sjNp3W4p`IdX&mZf$h5YYPV8|JTE*wqb(ESg8YqOviSE=(GG zF4Zr48R6?JlrjBJ>6T<+*y{R%mxSCFM*+7e1@g1Asc>J1b>ROzk&1#;#Gspi zLlsX_*mdRC?pEN$)p%BG*5wSR?ohFIHn3Idc0e-|rBH!$oYkCj5hKjN?7%`RT@zQd z=duzrsXmnc9M{iXfIdV(&^28*My8eTmK!sul=1=HQuMI@t6G(Z3y;u2aZYnUpe-U= z2?)j_A${Xz0{8I#whao&2wSlTJ-wMVf=+IQJVz?jYP&$O^O82?zW|GiKi;Heb}S=B zKn+RPQs4kO{F(0I*AWZF{XOOO#^RgDo{``hkjQxa+}|1+%HwN{^kt>66zv*8n5iul zrf@`CGr2qQ0cPsVtM1wwnE4pt87^G48^#VAxRRMO%UMj;hg=yh%zhfp1@X-99qwRz z)=cCMP?l^%A0haxJxTaLsHj>LEzFn{$*MNm6?PC@Bq-eJ`fyv!V)VFZ`R7YmsJ7PX4-d=qHU26o4yv%V%rBJd@4rxzjF%j^ zg@bcxrCq+j=MS1AaR4<5P!sX-YZtZyJ#<^s0zO;-EPOzgCvr=PPd&K~(6cPiZ?#H9CMouSR%#;#w5|>>_p+N})uRWGeHZ8S|J~wi1aG zS2T~ox64=nWI`>JU_wGe9aVqPupEvBsH<#MlKz=U+{&S_mf|qYw`!}%%FLPnpvP=K z8Nt6WjD1GSbms}m*a-zJFR&`C#TEM&w5jn1iGoeh{zr|dz54EEZQ?$*Jw}w~4b7@( z(2Xo~Upj3tE8t#8Z2r9<)@B*D0E;uL$-YUwNSWJ==Y(^R0UxLr_&}c?ez_iS6R;pc z$a|<08E8&X3_#oo5aJ%3E$a>2R7R|sf65yTK=K9AB|_BASerUR;B9yCwfzaTfWdj0 z6n_^judYc~cu`pKcNaGlcKg0!HHT@Rm#y#EPj6N0BkV6#N)56`tmAeQG6FPQpA}`_^gq;FoP`}1{)S|G?M*{tW6;Jo zJ%WGzfQ+R|J9lGgG#9WQf#4`8JCXsoI5QIyg?psRnwn8#V`Cu^5g8i`7$yM$I2Pro zRBDAy*zoz2qkRo{__IWSfUwp(Y%a&I6_V?qE?D!yim!hSxVrri2_2$-fl@TvX=mle*J|Ld z<{+saSyS8R=jq1x7&%;G#EEh|G@V(O+)6T7Zn`-hKHj&yNy#W-OPPb5QG3T zdd-^l$lHz@YFI(IJL|tFQN>4TC#%?9)q|vmqxoBes^dBwbv&n4TpTaxSHsYBc~ z=}|;f{*=)c;M+3)uTK38ao-M?{etcQ=vyyYlS3CQt*yu*n#_G|~&K!?4}H+)j>S9zftT^eIYGLY|exW3ujd#YS5XSXuA7P za&=-dFLYm}z{HP`cS~Pj^qUm2fq4&G5ka)|w@|(FpR8#c(K$Y20{)!87qJLc_GA>J zoc4F|$92K+@HLqLbg-C!sf-f_wbc+=+T6FjWD#wI+f6Z&lZPbio&Rz&cs)2^PVb#} z^ii1%%-Ts}lalT<2LZm+uWI6(&s}Xp1CXb{VMr}^T;=>Vj#FkACWR_{BvkEc!tKh3 zL2L=SJ|Co;oSjRB2h0?UO|fR2I}<34cZ%J>Z@w6mS}V#vNPVV$+hr977HTLg!LZ`a zAXu?0I?~EZF}C0ipE>_a*>KN5S34Q>PZcG+-7>2Z5&kJS;RbNmLr9G;6~mFq#s|t) z%u4}qbZAsh3DF9epzpg%73MDt!tef+ofT>MwPIVohU$3N2gOua%{0B(aA~vJ$%LYl zAc+usI+dQk%9mwVyp(Z*rPy-+j6iNE+p{TGXN&_Y-HA@8|2I!<0NT3bOx>%G@r67` z=k?ak@f*&{ewfKMMvZ)wT*U?_X_N1}kBi~aR);${@4caV2KN4_gsP^GG)d(B&%l#{ zt`9)vBMj_6j<94oAwpFpZ7SBjeYOx9NOgZCc*gXG_5OMIG}{P&Ti>>SP_PyrU%UW< z?q1gz2L2>Spxb531Aru#3>3ze+D&G`E^6sGP{mqgf^7_Upcvqz9% zTvk;Fxm~SIsV!M3EHJw%R%OB}cblw0>f-y!|E^h{q}Hv&+TJHZ*Z;*%JPec@Ng2E@(7~2GSa)BO8yYh}qkl~9OR8;Zo4ATs3VX+^~jYA}@ykfwi zrY0b07vKMoEHW>gLGKju?M6YAcB;x9XRA~lqQ$g;bNO<)dNNRghcL9Hb>ocwS|D5M z0Q=5!cSQZHdEN67Vo?mBFdC}#_C5{DHMv~jpbkL{b2#n4UwEnKb4@$_0xy|*TE2qB z06m?YwO^}B-~?|f%rvEpHm-Cuog2CN85{n4&ZrUc@%XDW>Ua07IgZ#@KX04ZKdz!0 zQHaY96$W1mC0f3Z@BJPSF-+GxtKzph#ZqdyA+o8JzJlKTxOjDl0@C7@9=)VUy3MKH$rE-+8&?htNLbJ zJt`s{NYpCq6u{VBxuKfO$k^uA-;Ev~t_2RA7k9i>N2KDn)(bXD_zv#hs~R^%-2-Lt zK%fI0a1}w;S&aJ-ZuE>1)BO`{>-U>rTlvImgX}xhI&x3Htw1}EBQ=$*=`VuR{|c|q ze0j{$A_oO(@=N^SFt&XyOG@>2>I2Rj5M?1J{*vx!T*ukeXkZbLI z0A??&?c^GGCqVW-&{c8(cxI`=Ky2##;MnFek>0&6ZO=_S!v@9UlEcAq*RBS}^UUQz zpMlEb<_+*qawA8T2&O^OxD&)0j=3?P zS&!K>;W_W}5&8x^gc7ngh)@tUlm;Q6VYLzeV5Q!>KKj961HAR%642p7h7Nm{psZeK2$0ACypaYy9XdyQF_)WOIS+;^r?;f z?QBTe0!{Y3a-n^7_$~R$pq<;teSCQzYfHMG8f}kCfb%j>ytl zWcmA2xnje`<*U~;QOkHIVBOqORLFb7osB{b%^tUui>|czW;phzx@26?kjw3E^(1QT z+r%3;P5K6afGoc5J+R~vn|{4tZH=s4AwO-Nc%?tXssjVr%5onCgt5PDiZ0g61#7J_ ziTK`)t02U+t~nOoIv0}zECL3Wb`V&&!lnSf<+;6)*CC|VClYwVMKeJ&|LhS727dh_`nvL>lT&k7K2g{}l_pHwcC3S?uf1P{q56s*5K(b-NG-1eA@ zWwH&f+cFF+_(AqfgI_l4$CrQ%(KNSm#rHp>d8-Ek@9A2}2oPce>vxB)Av?^+xp#o* zF1W9mXM|3U_h}AUL-hqAl#5x$p~(7dRV<**6*Ml_`c!YR7pw(zy;U7~CLzDb+-vO| z%6R!f*jm&(kaiqMt)ja5Df>|%X4Wymm+};R|C!%@^@2B;v+x+KKG#aYBcL)aOEL_Y zy#S5CEC&l7iw96VWgu1rrQcB3vg8!InL9xs>i`4Ikw3Id1{tc`m6yFZ#;79Na*9Rz zpuAjSbt6mwL_{dB>8&+<(T4b3L?;MGBSREl`3(`^I!+HF=TEz zYB*SM*iaeJo`!%RB!~uqkn3GQ(D?4%J1GF~28i0D#A5&am21}$2L{yY8ycF&mpNU_ zuvX>ZPm{GA`_c35w*uxj4{rmz0{m^e34^pFKt!g4vOs_V#)FpO5F-iH*`ZPRcp^*# z2g6AJlcQ-aTJe0(&>#mzThCwBtnRY6Af=-04Yc^3GKc;wheIvyg*9^q$b;~H@uZ8N zERWoFFB7F}XJ@A|zUyPv>|zI@R8*jp5nA9g_##+Vhav$Lat({wt`I;g03rxzjecLeOq(0+J)fVQ@R+W7fdNE0Fpg_OYdXTkFTK%6j9E+7?+VIM4AugMV&(FR@N|)1VtH|7V?SxK`7 zWTQ2JwL{Bk&`_h=t=!JuzOEV#NOwRG?4i0c6X$-+^4>AEV^dNvroYygrm3~_!vo~L z0v6e`%`-d%vI@t9ti(5YZ%B{i_QeZwu<_cIC+#d1On1wGhxuIOJ=Q_YFse(-WcYdE ziQVC}yuEH%?d4H0`F7u~tQ(4WarI>bd1a!yxu)b~6gLUt(zU{?(UwYvO|7dnz_Pj7 z^p}?eaTUF#1*j-WYzn3~2Sge``?7{*sy|gi`y}Zvfocx`H0cGvGZif@%8e>0A_jnJ zTrCr}c=7Qi$PD~*MZI5a0y%esoFM%u0jo`$nhnH8H|tZa8~{-9IB+Y^uf)+Or@;bw z^$#5K*j*obOQs=FaN<=RCqwKPA0>x-?*m~cB5IaNv`M+Dv zH$|4RXK}o`U3%R*{CZz_YEbx(u3i{qBSR08YH9HkG@Lg9Xz@1R!iei;T)k`V{vrw% zm=f88W$FXn7OO(z4&joaw z$IrcSd0esS`+l_%=fxJzqo``rdAxE3j*v$ET{)~Jc)07=Zu*#&H!856g9@U>XlyRffOqz&eOn)U&t?YDvAUzyQ!-Wr#|{HQs^7wggi)>TdNu8Y z#$?zN2eekz(37V<)Y@m4UaX>TdPpX)Qbw2@Iju^2Uk+|;+^~s}vO5_3y>*m<9_amh zlC0P*_t1+5`G{U2EeO)nq@@V#$hKuF?du!i?@NY>H^Nixa1Q%21iUp*^VZp*T4c~0 zCaEvXoNI6E*}XJSP|1>2A*l$k9-IJWr;c>YItfhj|GA#EuUVPmmmW}BbN~pHN!QFG zszgZuQz$b~j!8{sGV`Bw->JT+4{Zq`hn!k@g2sKNl@vRyj|^6VTUQr=kJl4OG*>}> zL1pq1l+jz43Fxiu!mh97wMzwp*pXc1L>v4{pNpYmINqjXE3aKJ^!5!plg`g4A(fNP zFn|vO(Ofo*LVzgW%WE^6ONngdQaE-r3FOumgcsJcN5V_mmcl7gopa~YrP+fmTJ9}` zi-eN5%waiH`!z%Leobp$wetFz18^eCJ1&;%JxYA?(Z2vW2J`}8q=u*5S4eWs;acf1DGZl=FW_30%J-0mV7n%0pdcdnZPG3peKD*B zBtVJ)IOv{b?=T_H@Us@p|Cv^RS#2rPWZj!jpul$0am^R9wMp~DSCqJ<28Yaa_cTGV6;ayvwul!Jwg4oQ z*9N$UFJQ7#PG2OA1C+Zn-@m+SY_2>uYyzWlE!MpsLG6s|r`9^Ue-7)p%Qg~2`6A0j zg5B7uu*~=`t?H#&8&qv&_jl`!!I!;2wg&8rYr%cu%ar0|N3o7uSGQi?7OKirmS18H z74bDA9~)-fdnSt9&$dSDl{++?wH{f?YsZ9mz9T|zo`+`n2j0o7za28&|53;Azq2Rm zMx$x$`j(+qR{!B{|EvpK;iQ}zy#vgo-EzX=Qhnambytth(J0rEpMRTUmz`^P$E>$Z8?Sv}(Oi5He;Gal(Ijnbb-KdCrbh?eN`zad~)HSy}O_@}~oEXhX^1v1#-|O8c+R z_a7Y>ZRvG_W$U3W}>$sycf5ShUFVoQO}9SW znWAGnD28lEQiSva_D;vkQzwuykuVUE?2GK~5$0$(3M$bv5i2j`oO)6)CZLo4sfX&9 z`DxSaQ_qFc+twB;EtNrnoMUYn(P1JSixE(Y;ogeUOIp32h0J<3FjZALj@Ul&PB+q- zztAYDxM@26ukRKLK#rA;AToy+bE_${_re~b1Dyfm%z7WZ4h2_APfsUfH+aj;6yafU zEZ68&lBr`>sa+umJGY387Lr~oru-5fj7?teGk3C1U z3N|z*YeAf~vwiGBE%%Z`PGm^JM)-Zmg(FkQ>-`FWLx5BOkblok6TGcfg;OtDUc|D| ztj&*%YtD}vT?U{A)7Zpi+_cZ*-}~n9{f<_Dd9(*t68i3FY$S1}r)HN}n9-e^!_Ad} zeZA(Zs169ie_ni&=&gel7 zXq1)-`hcrT_BL_4dp>#M4RNg!QSuK|PrtoFBez|hB0zWN&RjE7u5zkeG-Ug4Z9NAd zN`^ako>-L%WSmb6VCy=6@&x!>+1Uf^yPz)zOhqLWAiW{NGC)N|!8FLK~3yZX5AeAf+eWk8|`kn6*JLRx`@%})`KCH<2P!mR`PV)>p5484!#$gIQC z_00P;n2k5`0K@@kWv6Q|u=PN>#JfrK!k z$NiPCny4^PcLuHX8EQ8L0OJ?jC_#rN9kbg+d4Wp@<#4arD{=y>Uz*n_I=wZFOR|%7WI>N=X{0Yk_xyqyltK{Zpdk;vw zE9H>H&#kJyw(Lt_;dx`(H(Q47&PKO)#9SfZjV4XK@m85CP<#~MSGtyM?Jh0gG~Wr3 zu8tGmt^n6^a$>>+H2y;Y`;!u5J<}Nvu|GvrwG}Xf@q$7{8Bh=EY*P5`K471KI8Xsp zHu-oNtk=`~R$E?(Igh2ta9Z0 zosZe@QY*RKV>_L|Qrpo{fsG{%#Mw9J9q7KU)JpITlqA-Ipf2}tgk1-79&D+4+EX| zl8ts+j9w1gN-a8P9+I9A5Y&DJ32=;7azsU;GL&R=)L`x!@4mz~6SspfZnoECJNZwr z;TvF=Qz6weH~e6a-Hm{8&;;VL#MkO#?-TIe1O-L|fHX7?1W{rY@+O_^nRF7tF#i(^ z_2O=uzAy`AJVua zs(Ldx8Vc5{9;SpIFl_}|J^cnJLxS}hCPwnH+_y(WKbVNFPJF2ZqMk0=(?Zh3y8dlah0T(IVy`7GWPxJU$E_W6q@(NH2wh|B1Fdfg;S zZegwFl|Y7)UKTp@J995Jk^C1RA<%|Rlt^`ByB!u&u)l6;fEx39{N~cq+W9MNtgLc? zkqoFL=l`G*OzcPCs)<57tyOtHFq?L>|A4(Zggi8Rcf&tsh3pqj*sUr;|4Se`k#X+z z+E!RSLf1N+IW^4m&HVGgeP+?B*gy>w8 z>?~0%Ux#|3byh&1k&kX7M(P3D2(vw*_#s?*llAPbz4eS70sOozYJOv|7L*Z z2FnJ}+`eGfKnW6HCwq8G-e@i!0)9+EUaR_6yl(bO5$zVKHnXGj%+{#LO(y^FuRvH?AWiB3iZ=% z^jHAMc(*N^Gd#Y6@`B5+V-R!c`ZX~iB>3t-x!r33@mktHZLX``n_uc8hBV3%%Bt5# z;l|b;ohf}qYl&IxEl`;{-vK;aF)N-hCSbP4S*GtD%wt{Ll;6bHFWVd63AQW{dsut* zY}{Kf=0z{%E{)8DTmLYeIH6I@*f)f=T3W9vsUE6V#VL|xlb6L8t3F^hv=vi-eA%Gs z;q`}C3)&6XIX3qmJh+Q_ZLrwZx?3H4iP~_gJxWX=ir2XvyOPB9fT&dQv|RC>Ltn@1 z-n=E@j1M{EB^Qx#FL!<#OFJidiW@&cwkDoob*4 zyn?QP7ugJ(P(yiRk)6RWu^^8Ol=1*9?E*jO2Mtx#4Qd@T=0!<0PTX$W&y%r+aZx(y z=-*1Zn<=%1cX8*s<LRVxhI?LKB&OGZZni{j_Q$hjvkhklrwJ#ewN+0Viu~>47I{OB6iBl=3XAjJIdSp==7(2M0e963BGJ%=r>z;F2B{(PEl~^8!Hr7d6?o9(O-^*sQ3fO+ zxfYYMl$F^T8S0~BlFCGm3{MjAW9aN`rLD-k^|CTqntzvq$tfx~VrntEb8733Rt&2= z<5K(yQQj@|)nkKtRx#J-m8165t<^UB@8(KNl$l|^na1DOIqN*}tNO*~H5?w;1~$f% zrxY35%QXaZsK+&I zKf~}&KC$D;>q`9blFxH$?$i|k_2R@@aoigw7=xR>*9nG&nz#mw%r{z?ub2a}PYuo# z1=DlwXG`kBdV5Zap^Ye)p-dg8-JV)ZE2ed|&mTm;jCOv87o(Os5 zPueg;PVl-#*ZG*8N+7yB)HjeJ9kyiFU)J{*ZgblKyORuxp|6;D(`>gW?M$qPBMr*2 z-c~WumXe34zvL+vd9dO5O@Og{I3SA4?6N|rDpmb3tH2CfmcW+y(Tg4Znfe!Q_WRO| z6qE|=Qsi2cp{_-|Hf|`oc+*=~or>U*z-eF)09H>&z;Xw%3xk6DNUY=G{eHj1Y4!EG zI1a98F>aog+u|F+ViL-!k?AZ3Z8J)O=2qus+2niGkPRRfqW0zDsh+h# zG#IjdM~HxH9^J1Y=4I!rTvMIzzQnDZ!AB~z^h4{@bXUgm9#^IglEUvsJ&De2H<3^^ z%S^X$!er&O12{RiRBfgtiQ%A_kIHraJ_KA2N&>V7=1`d&sI!C;K~EE( zG|f5;4R>q2zrm)8K%gMHxr)r+4|4d<>mAzL7P0S<9&sX`NTeSgDjQLnqUlMd^0{g8 z3bgpW3%IQ%81F?f)I!Ry6U*cxJ)-;#ZYYVI4hcsd0eWvqzW9)SMkKc@mj{-~<;xln z9QwWI;9?89w~E8yr?&p^{k9KohLq$38r6Gly+sa7&<0puaY#;W><>6g;6VI0{3)}D zh)$3}#Ey>UBA_FDf1RZ};jyZ87a$Kf>JjjsRuXhS?8#8coN%hJ#F>PGDmZr>e6$<# z=|T07+4@{BXh2?AaRk!(^_*Tb&kGZt+6yz|damJaAp4kTzN8;eA{*Z=UHQHliTKG@ zjGT1e`zP@9_4@sCYw)GFB5m-PqC4Mys5X10_Z>wY#zs;Qu@Hs*`i`3u%ruM%k%9}W zLoo2XoArM_Ia(oidvt_IsIi4S#X&K0Jd%&)@Wheq!i0T+7zMN(^sgvMF+oXO=6z}T z`ODvJ^FfCW6F|2OdYvOpBS6Fw4biV#3>K7;-Z&;_6Pjv++)?hbSi2alz!5|lP$khv|06pYp>?$yw0YcAAr{|e4$ zR2iTt?$m&U4ir3FeySX0aEuQ8onQ8XtO=Uu46$wXu@20oDygtzsLG2nc?F z2IjtiU5|3b9?f})$ddBAU3pfPK_pbyCnZ06aH8+tMbLL0)X2`95!rgt*7j?k9KC%? zNk70SW>Z_F711vFkY^O-8N|}5FMs#1m&LpJj22W1RDZNo|0QwSw8JDR$1Ns`^8FdGWbHywUU@7Ru&yuPBGAa1SXx$AXz~6sdtPXCbapt0F%<==z`X)TK-@nU z??Y8k{)Zg{4E%Dod_OzRV~>=et(E{7`0t9WD-lVB_DJoBQ%oVcJuMxb>uEID+1$J{NZ z5!eq8HJDT-zg(k!x6{9|s)FgxzD7=o{n~;KMK;`{Ac#5(gr}OKVz+JJyRa94U>nr3 z-xd)8g9eyk0(Hus<`(MpBnDw{ZNH@m^b<6lZ6Ft>d`ut2NX$Us@qIfKNuP&ka1p z3JB_$p7Xo*L!r8xjuM~^ppzLq9(kYZ@MLmbw0N9vbGl?~_EF+T8gaAExCcJNMx@>^ zzr+EMdJ0I?bfg#^?TDjS(cNVq8EhF!rX#Ee(-+TWV20mG)__kJXNwi>?1}aHC$7(i z#xb$U79J&Md~g0tcfl0`iND&e_;BMc@|PT`^PMw_E_JA&8q{V&FS6^}N#LivDE4qK z|M6c$nmJQCJgqKBrr#atcCT80uskDYVecR&FWd80w{i5wUj!64ftYMvaH8J)^qg!U zC<$s@%DGv?EbF_nQ45NySbK- zCUE^stV)6$gTY*-y;4Z9Wm|8hb#x?M7*ln-3pl`{ZYG1}67hZf(glLAj5LlS$8X*J zEgxX3avolTUC%5_Zd>HnB@aQS@ieZZJA9_@*4HPU4q%?aGI_2KUGvyY@DCQqZ_97{ z6mioTbDN+u{5jX<`m0y32Dr*p?uoCo0}8(y>v$G9XGCy1%@VbZnzlW2Ft)kbjeUhOo!#E!WEU7**D`k=m)q9QI;)+PZ>pxC z8BX~`(5up8M$C-h`hHxFwn{>%D||l3u5-IQ9bqaHUohM#GJ0Md88qMN&rw)}k9~|E zuM*EK5v~y}X2J63w{^)@3Tl~}R`wGTP<~;0 z#c;j-vufpR-@-Sxht+~<#ir;xP|3Bb3i#bW*I4Zcuv0bFvjXQTonU-3zA>{1{QQWN zqiu$!u}uXbpeBx2v0m@pJ#&H6%|tO((Avy5p0A$+x{237Pmy6YtvTz}#eZ#RQ42(7 z!qdbstA399o%x)rC69dKW1}K6OB>eF={KWSM@aNyO(RyEo?YGxB~${V&TorCngUt- zm9d@7SI=8_Kr6nbsrmd8Z6;_d##<}HouBL~9n z&D>cV-iulr#hfhafY(&0S6aVAa<+4|?GrM6o|%;wP#$;<=tsnRUb1)`!%-|MS;bax z6v?;@pWA(aUFovY+Vn_gbpH$ZB@6RW2GCK(+A8vtQ&_Owa(jXAAhBQ;j&DTvt#_TF zn|88Gq#@^~1&Z@N#Tf$1`f#zgcL8fjW98_f(gEe0Y01g;39A1)bkTW6(+%7T7)>i;b)_&w>95M5F-o;xbJf@rvP)v$P&=7i~{JuR(7Y5TdQT3>J%(V}xD z%FW@QEG1Rvnm7!2NplWCZbcoq3UW^TLdW_;(<-b=Epm=?EmK!$ZD^pH>;uxonex$X zok0wcGcazs#jkf7x%JIbfZcq#g>>MdjH!i%;GBDkDb=nk0L*~a293T_#|GSrugq5o z%N|J9YO{oPM&m2{^}^dO?4BlPHsxPwcrDH z`Ftm*=ftGWYW_;9TUJs0Xb8=HyYYe;B_r|q^26hkpNis&1P>^i(^~*Yl%G0Jt9vpthws1icE>1i;^`rV{%>SoeL|ZG|3$l6R0ZLbTSXrlLpZo zp&`%LE^+fxbT9B2!UrHjB+sW}=d5Auruce9F&tZs&k925B<+pXI|O`vxf=3;FAg08 zf%KuCiRhjd!*#ON4W}wp#TRfyTO@2|_CKCN{1_IV3!W>fAWHaj^ZYm1M*BITjcCgo z=_U0Mn~C(Y60is#Nm7EDi@T=2p9%oMeO@58%vS$oBy`(XNE|jd^9qjR5HtbdjB#rxyIv z-MX2|FJ@oq4`Koh@i_UJe72m}p(e`!tEnQH7T}ch-OqdTsQ?7c#;Np4y}>kq9#$+S zP}=|B>nn0|gWJ5jS#QDo!l2gUppbdawKYC>&U~0RR>kIIIaUk5>|9~K*ZdFG-kHa- z#g?kldZcZTn;RP5{G=3{@>IBpN(Zi#$+=c9`C`-^zH690!6y$R6!AJFFTA1O@lw-` zNVy&|kN#9ziu3n<0*-EWBqm+FVnPdL+8KZI9N2x?#=fOqEM)_$7Q=-OM#FqYJX4B8YM!Imines zbtkJal_-i){Gr)v_~DjKP$@5!bF`#GVJ zGd;CkZ^(kaNGNei%GsH;`!QFTL!Z?O;i`#cVHWTW8^HG=733g12>a|NJucOw-vFDxqEm_v( zBs#Jjk#rsgSCWVQcN_@R_(`{8(&|ys3s{)Pn*4RZ@km4Eb#GV)Z44n#DDIGD&=&9}V+>1fRKP_0551k!e27`!* znnF2|(IWA-7ay>WwW^eHkT$?OxB>BEEufG&^wpyq9E-zf&e4?S+V8KxhnrK<9HvZ-9P`G;QG=;-FkavZA4w_O6hS z(92^!kk`!Sw+*sA8?jI<7ZKUV(4^^(*~F+va_-OpyzHqt`=(iNoW7ZNk7~Pl|E_Z> zdOqjyfY1En#JTM_J!Dr^Q3|4sx*W9F9uc?*MO3D8SluH3+rO*3H!fLNW>93XxXSs9 zM%G0GMVU${3F+IhbH+EL;{a2a7+cM5!Ns~x(3*s(VsycYiGxEaJUm=VUOudG{A1(z zQz)%4`#$1E%?P}QlHRy4qZCU$psztTbf z-9a<^spf{b9;r9rK10ve96S2AhJZtOuinR2woIi<5T2tT} zOl9Bg_bJw{$b8*qDp7i=wF?-^t0UCRlT7fT#YWDp?&7V&T=BTJAA(dqzjZJ9=@L0n z507fA%H=0QYn@`cgvOMl!3E7Pn9-b$b%Z=>NODtgJQ>v%KK5JxW{;Bmg3a+H0rIts z(xydLHx0&o0a(l`Ro&~UPlZCiza4%|^siL#GP!a#9CVBz+e6qFYl!tNkUI3F&%Q%> zD!-6xktqR_{~>p6!AWFlT^5$X^?~>Ww@-zU9!fCXuN~mT?&UeY^jLnc1F<0idau}| zx-&7=f|VrgXZzprkK~1f)@iHqcK5G5^7N;9;x}V*%+J1M1O^BRWi({L+I6ng%3yi^ z(P=*$^Xky-I^0Z;-nS77WAjrq&2b=BbPoRVHkK=`Vk){v)`~UbZ}LwmcXiZvPL~{> zV6H1>4rS{7Mj8O)x$ONS`&tO__5qWjI8+2K;JB7v_}Ff^g_Ry(ytmR{`@?32NoQM% zp6i%VlK}7Jj0;^|KeAJmb8UXQOc~W zkWnfjqwI01Y}e-6tEsZ05Shu|<6c~|i0paoQQ5AMz4@OX@7r7d-_!Hv>E-%;*ZH3F zIiK@6ezgRjiT$XT%;b2%(?DA9TduPcytcB7RQvvN=_H_n|2^,CdWovK++J;%C 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

    kqMWRU~iP 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

    QFec5}*!1 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

    *}o}qI%c- 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 diff --git a/examples/MagneticBraking/MagneticBrakingTorques.png b/examples/MagneticBraking/MagneticBrakingTorques.png new file mode 100644 index 0000000000000000000000000000000000000000..5a59dc5e7e147dff0375041359c3437944d7c2cf GIT binary patch literal 509313 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≥6tM#tw8@6_$X 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

    Bl1!a9t|au^4M()W}mWg&S~%@!w~lr(d|_T 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