diff --git a/src/poise.c b/src/poise.c index b68b06c6c..3a695bac7 100644 --- a/src/poise.c +++ b/src/poise.c @@ -3700,13 +3700,7 @@ void WriteAreaIceCov(BODY *body, CONTROL *control, OUTPUT *output, fvAreaIceCovered(body, iBody); *dTmp = body[iBody].dAreaIceCov; - // if (output->bDoNeg[iBody]) { - // // Negative option is SI - // fvFormattedString(cUnit,output->cNeg); - // } else { - // *dTmp /= fdUnitsMass(units->iMass); - // fsUnitsMass(units->iMass,cUnit); - // } + fvFormattedString(cUnit,""); } void WriteIceBalanceTot(BODY *body, CONTROL *control, OUTPUT *output, @@ -4186,6 +4180,7 @@ void WriteIceMass(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, if (output->bDoNeg[iBody]) { fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit,""); /* XXX Need to fix units! *dTmp /= fdUnitsMass(units->iMass)/pow(fdUnitsLength(units->iLength),2); fsUnitsMass(units->iMass,cUnit); @@ -4239,6 +4234,8 @@ void WritePlanckBAvg(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = 0.0; } + fvFormattedString(cUnit,""); + // if (output->bDoNeg[iBody]) { // fvFormattedString(cUnit,output->cNeg); // } else { @@ -4277,6 +4274,7 @@ void WriteIceAccum(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = 0.0; } + fvFormattedString(cUnit,""); // if (output->bDoNeg[iBody]) { // fvFormattedString(cUnit,output->cNeg); // } else { @@ -4296,6 +4294,7 @@ void WriteIceAblate(BODY *body, CONTROL *control, OUTPUT *output, *dTmp = 0.0; } + fvFormattedString(cUnit,""); // if (output->bDoNeg[iBody]) { // fvFormattedString(cUnit,output->cNeg); // } else { diff --git a/tests/Poise/SeasonalNC79Equatorial/equatorial.in b/tests/Poise/SeasonalNC79Equatorial/equatorial.in new file mode 100755 index 000000000..73e384558 --- /dev/null +++ b/tests/Poise/SeasonalNC79Equatorial/equatorial.in @@ -0,0 +1,71 @@ +sName equatorial #name of planet +saModules poise #what vplanet modules you want to use +sGeography equitorial +dLandWaterLatitude 16.4 + +dMass 3.00316726e-06 #mass of planet +dRadius -1.00 #radius (not important right now) +dRotPeriod -1.00000 #rotation period (minus = days) +dObliquity 23.5 +dSemi 1 +dEcc 0.0 #eccentricity of orbit +dLongP 0 #pericenter, wrt Earth's position at spring equinox +# note that this is the typical value +180, +# since that one is solar position +dDynEllip 0.0 #shape of planet (0 = a sphere) +dPrecA 0.0 #orientation of spin axis + +#_______addition disorb/distrot parameters (leave these alone for now)__________________ +#dInc 5e-5 #inclination of orbit +#dLongA 348.73936 #orientation of orbital plane +#bGRCorr 0 #use GR correction (not important) +#bInvPlane 1 #convert to invariable plane coords +#bOverrideMaxEcc 1 #override max ecc halt (not recommended) +#dHaltMaxEcc 0.4 #eccentricity at which to halt simulation + +#_______poise parameters (have fun with these!)_________________________________________ +iLatCellNum 151 #number of latitude cells +sClimateModel sea #use seasonal or annual model +dTGlobalInit 14.85 #initial guess at average surface temp +iNumYears 4 #number of years (orbits) to run clim model +iNStepInYear 80 #number of steps to take in a "year" +#dSurfAlbedo 0.35 #average surface albedo (annual model only) + +#__ice params_________ +bIceSheets 1 #enable ice sheets +dInitIceLat 90. #how low do initial ice sheet extend? +dInitIceHeight 0. #height of initial ice sheets +dIceDepRate 2.25e-5 #rate of snow build up (when T < 0) +dIceAlbedo 0.6 #albedo of ice +iIceDt 1 #time step of ice-sheet model (orbits) +iReRunSeas 500 #how often to re-run seasonal model +bSeaIceModel 0 #use sea ice model (slow!) +bSkipSeasEnabled 0 #can skip seasonal if snowball state present + +#__heat diffusion______ +#bMEPDiff 1 #calculate diffusion using max entropy production +#bHadley 1 #mimic hadley heat diffusion +dDiffusion 0.58 #diffusion coefficient (fixed) +dNuLandWater 0.8 #Heat diffusion coefficient between Land and Water + +#__outgoing flux_______ +dPlanckA 203.3 #offset for OLR calculation (greenhouse) +dPlanckB 2.09 #slope of OLR calc (water vapor feedback) +bCalcAB 0 #calculate A & B from Kasting model fits +#dpCO2 0.00028 #partial pressure of co2 + +#__surface properties__ +dAlbedoLand 0.363 #albedo of land +dAlbedoWater 0.263 #albedo of water +dHeatCapLand 1.55e7 #land heat capacity +dHeatCapWater 4.428e6 #water heat capacity +dMixingDepth 70 #mixing depth of ocean + + +#________output options!_____________________________________________ +saOutputOrder Time PrecA -TGlobal AlbedoGlobal -FluxOutGlobal $ + -TotIceMass -TotIceFlow -TotIceBalance DeltaTime AreaIceCov Snowball Obliq $ + IceBeltLand IceBeltSea Ecce + +saGridOutput Time -Latitude -TempLat AlbedoLat -AnnInsol -FluxIn -FluxOut IceMass -IceHeight DIceMassDt $ + -IceFlow -BedrockH -TempMaxLat -TempMinLat -FluxMerid -DivFlux diff --git a/tests/Poise/SeasonalNC79Equatorial/sun.in b/tests/Poise/SeasonalNC79Equatorial/sun.in new file mode 100755 index 000000000..a1f97c666 --- /dev/null +++ b/tests/Poise/SeasonalNC79Equatorial/sun.in @@ -0,0 +1,9 @@ +# sun parameters +sName sun +dMass 1 +dSemi 0 +dEcc 0 +dRadius 0.00135 +dLuminosity -1 +sStellarModel none #sun does not change over time +saModules stellar #use stellar module (needed for luminosity) diff --git a/tests/Poise/SeasonalNC79Equatorial/test_SeasonalNC79Equatorial.py b/tests/Poise/SeasonalNC79Equatorial/test_SeasonalNC79Equatorial.py new file mode 100644 index 000000000..6c0512b41 --- /dev/null +++ b/tests/Poise/SeasonalNC79Equatorial/test_SeasonalNC79Equatorial.py @@ -0,0 +1,228 @@ +from benchmark import Benchmark, benchmark +import astropy.units as u + +@benchmark( + { + "log.initial.system.Age": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.Time": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule}, + "log.initial.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule}, + "log.initial.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule}, + "log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec}, + "log.initial.sun.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.sun.Radius": {"value": 2.019571e+08, "unit": u.m}, + "log.initial.sun.RadGyra": {"value": 0.500000}, + "log.initial.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec}, + "log.initial.sun.BodyType": {"value": 0.000000}, + "log.initial.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec}, + "log.initial.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3}, + "log.initial.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m}, + "log.initial.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.sun.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec}, + "log.initial.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W}, + "log.initial.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W}, + "log.initial.sun.Temperature": {"value": 5778.000000, "unit": u.K}, + "log.initial.sun.LXUVFrac": {"value": 0.001000}, + "log.initial.sun.RossbyNumber": {"value": 0.078260}, + "log.initial.sun.DRotPerDtStellar": {"value": 6.558557e-13}, + "log.initial.sun.WindTorque": {"value": 1.119248e+25}, + "log.initial.equatorial.Mass": {"value": 5.971546e+24, "unit": u.kg}, + "log.initial.equatorial.Obliquity": {"value": 0.410152, "unit": u.rad}, + "log.initial.equatorial.PrecA": {"value": 0.000000, "unit": u.rad}, + "log.initial.equatorial.Radius": {"value": 6.378100e+06, "unit": u.m}, + "log.initial.equatorial.RadGyra": {"value": 0.500000}, + "log.initial.equatorial.BodyType": {"value": 0.000000}, + "log.initial.equatorial.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3}, + "log.initial.equatorial.HZLimitDryRunaway": {"value": 1.117992e+11, "unit": u.m}, + "log.initial.equatorial.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.equatorial.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.equatorial.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.equatorial.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.equatorial.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.equatorial.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3}, + "log.initial.equatorial.Eccentricity": {"value": 0.000000}, + "log.initial.equatorial.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec}, + "log.initial.equatorial.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec}, + "log.initial.equatorial.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m}, + "log.initial.equatorial.COPP": {"value": 0.000000}, + "log.initial.equatorial.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec}, + "log.initial.equatorial.TGlobal": {"value": 16.637409, "unit": u.deg_C}, + "log.initial.equatorial.AlbedoGlobal": {"value": 0.322068}, + "log.initial.equatorial.FluxInGlobal": {"value": 237.998617, "unit": u.kg / u.sec ** 3}, + "log.initial.equatorial.FluxOutGlobal": {"value": 238.072185, "unit": u.W / u.m ** 2}, + "log.initial.equatorial.TotIceMass": {"value": 0.000000, "unit": u.kg}, + "log.initial.equatorial.TotIceFlow": {"value": 0.000000, "unit": u.kg}, + "log.initial.equatorial.TotIceBalance": {"value": 0.000000, "unit": u.kg}, + "log.initial.equatorial.SkipSeas": {"value": 0.000000}, + "log.initial.equatorial.AreaIceCov": {"value": 0.079338}, + "log.initial.equatorial.Latitude": {"value": -83.402352, "unit": u.deg}, + "log.initial.equatorial.TempLat": {"value": -10.684802, "unit": u.deg_C}, + "log.initial.equatorial.AlbedoLat": {"value": 0.600000}, + "log.initial.equatorial.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2}, + "log.initial.equatorial.FluxMerid": {"value": -1.632808, "unit": u.PW}, + "log.initial.equatorial.FluxIn": {"value": 70.432311, "unit": u.W / u.m ** 2}, + "log.initial.equatorial.FluxOut": {"value": 180.968764, "unit": u.W / u.m ** 2}, + "log.initial.equatorial.DivFlux": {"value": -110.461418, "unit": u.W / u.m ** 2}, + "log.initial.equatorial.IceMass": {"value": 0.000000}, + "log.initial.equatorial.IceHeight": {"value": 0.000000, "unit": u.m}, + "log.initial.equatorial.DIceMassDt": {"value": 0.000000, "unit": u.m}, + "log.initial.equatorial.IceFlow": {"value": 0.000000, "unit": u.m / u.sec}, + "log.initial.equatorial.EnergyResL": {"value": -15.700340, "unit": u.kg / u.sec ** 3}, + "log.initial.equatorial.EnergyResW": {"value": 0.154552, "unit": u.kg / u.sec ** 3}, + "log.initial.equatorial.BedrockH": {"value": 0.000000, "unit": u.m}, + "log.initial.equatorial.TempLandLat": {"value": 262.574234, "unit": u.sec}, + "log.initial.equatorial.TempWaterLat": {"value": 262.312582, "unit": u.sec}, + "log.initial.equatorial.AlbedoLandLat": {"value": 0.600000}, + "log.initial.equatorial.AlbedoWaterLat": {"value": 0.600000}, + "log.initial.equatorial.TempMinLat": {"value": -12.488589, "unit": u.deg_C}, + "log.initial.equatorial.TempMaxLat": {"value": -8.948297, "unit": u.deg_C}, + "log.initial.equatorial.Snowball": {"value": 0.000000}, + "log.initial.equatorial.PlanckBAvg": {"value": 2.090000}, + "log.initial.equatorial.IceAccum": {"value": 0.764899}, + "log.initial.equatorial.IceAblate": {"value": 0.000000}, + "log.initial.equatorial.TempMaxLand": {"value": 265.054711, "unit": u.sec}, + "log.initial.equatorial.TempMaxWater": {"value": 264.046713, "unit": u.sec}, + "log.initial.equatorial.PeakInsol": {"value": 541.704677, "unit": u.kg / u.sec ** 3}, + "log.initial.equatorial.IceCapNorthLand": {"value": 1.000000}, + "log.initial.equatorial.IceCapNorthSea": {"value": 1.000000}, + "log.initial.equatorial.IceCapSouthLand": {"value": 1.000000}, + "log.initial.equatorial.IceCapSouthSea": {"value": 1.000000}, + "log.initial.equatorial.IceBeltLand": {"value": 0.000000}, + "log.initial.equatorial.IceBeltSea": {"value": 0.000000}, + "log.initial.equatorial.SnowballLand": {"value": 0.000000}, + "log.initial.equatorial.SnowballSea": {"value": 0.000000}, + "log.initial.equatorial.IceFree": {"value": 0.000000}, + "log.initial.equatorial.IceCapNorthLatLand": {"value": 1.121291, "unit": u.rad}, + "log.initial.equatorial.IceCapNorthLatSea": {"value": 1.152808, "unit": u.rad}, + "log.initial.equatorial.IceCapSouthLatLand": {"value": -1.121291, "unit": u.rad}, + "log.initial.equatorial.IceCapSouthLatSea": {"value": -1.121291, "unit": u.rad}, + "log.initial.equatorial.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.equatorial.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.equatorial.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.equatorial.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.equatorial.LandFracGlobal": {"value": 0.289073}, + "log.final.system.Age": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.Time": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.sun.Radius": {"value": 2.019571e+08, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec, "rtol": 1e-4}, + "log.final.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.LostEnergy": {"value": 2.568599e+28, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.LostAngMom": {"value": 3.532078e+32, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.Temperature": {"value": 5778.000000, "unit": u.K, "rtol": 1e-4}, + "log.final.sun.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.sun.RossbyNumber": {"value": 0.078260, "rtol": 1e-4}, + "log.final.sun.DRotPerDtStellar": {"value": 6.558557e-13, "rtol": 1e-4}, + "log.final.sun.WindTorque": {"value": 1.119248e+25, "rtol": 1e-4}, + "log.final.equatorial.Mass": {"value": 5.971546e+24, "unit": u.kg, "rtol": 1e-4}, + "log.final.equatorial.Obliquity": {"value": 0.410152, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.PrecA": {"value": 0.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.Radius": {"value": 6.378100e+06, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.equatorial.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.equatorial.HZLimitDryRunaway": {"value": 1.117992e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.equatorial.Eccentricity": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.equatorial.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.equatorial.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.COPP": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.equatorial.TGlobal": {"value": 16.638715, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.equatorial.AlbedoGlobal": {"value": 0.322068, "rtol": 1e-4}, + "log.final.equatorial.FluxInGlobal": {"value": 237.998617, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.equatorial.FluxOutGlobal": {"value": 238.074915, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.equatorial.TotIceMass": {"value": 8.926243e+13, "unit": u.kg, "rtol": 1e-4}, + "log.final.equatorial.TotIceFlow": {"value": 0.000000, "unit": u.kg, "rtol": 1e-4}, + "log.final.equatorial.TotIceBalance": {"value": 9.114271e-08, "unit": u.kg, "rtol": 1e-4}, + "log.final.equatorial.SkipSeas": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.AreaIceCov": {"value": 0.079735, "rtol": 1e-4}, + "log.final.equatorial.Latitude": {"value": 83.402352, "unit": u.deg, "rtol": 1e-4}, + "log.final.equatorial.TempLat": {"value": -10.684156, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.equatorial.AlbedoLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.equatorial.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.equatorial.FluxMerid": {"value": 1.632799, "unit": u.PW, "rtol": 1e-4}, + "log.final.equatorial.FluxIn": {"value": 70.432311, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.equatorial.FluxOut": {"value": 180.970113, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.equatorial.DivFlux": {"value": -110.460798, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.equatorial.IceMass": {"value": 176.402053, "rtol": 1e-4}, + "log.final.equatorial.IceHeight": {"value": 0.192432, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.DIceMassDt": {"value": 5.589844e-06, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.IceFlow": {"value": 0.000000, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.equatorial.EnergyResL": {"value": -15.700340, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.equatorial.EnergyResW": {"value": 0.154552, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.equatorial.BedrockH": {"value": -1.046896e-05, "unit": u.m, "rtol": 1e-4}, + "log.final.equatorial.TempLandLat": {"value": 262.578337, "unit": u.sec, "rtol": 1e-4}, + "log.final.equatorial.TempWaterLat": {"value": 262.313192, "unit": u.sec, "rtol": 1e-4}, + "log.final.equatorial.AlbedoLandLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.equatorial.AlbedoWaterLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.equatorial.TempMinLat": {"value": -12.488965, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.equatorial.TempMaxLat": {"value": -8.947302, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.equatorial.Snowball": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.PlanckBAvg": {"value": 2.090000, "rtol": 1e-4}, + "log.final.equatorial.IceAccum": {"value": 0.774581, "rtol": 1e-4}, + "log.final.equatorial.IceAblate": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.TempMaxLand": {"value": 265.050604, "unit": u.sec, "rtol": 1e-4}, + "log.final.equatorial.TempMaxWater": {"value": 264.047615, "unit": u.sec, "rtol": 1e-4}, + "log.final.equatorial.PeakInsol": {"value": 541.684612, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.equatorial.IceCapNorthLand": {"value": 1.000000, "rtol": 1e-4}, + "log.final.equatorial.IceCapNorthSea": {"value": 1.000000, "rtol": 1e-4}, + "log.final.equatorial.IceCapSouthLand": {"value": 1.000000, "rtol": 1e-4}, + "log.final.equatorial.IceCapSouthSea": {"value": 1.000000, "rtol": 1e-4}, + "log.final.equatorial.IceBeltLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.IceBeltSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.SnowballLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.SnowballSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.IceFree": {"value": 0.000000, "rtol": 1e-4}, + "log.final.equatorial.IceCapNorthLatLand": {"value": 1.091712, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.IceCapNorthLatSea": {"value": 1.152808, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.IceCapSouthLatLand": {"value": -1.091712, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.IceCapSouthLatSea": {"value": -1.091712, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.equatorial.LandFracGlobal": {"value": 0.289073, "rtol": 1e-4}, + } +) +class Test_SeasonalNC79Equatorial(Benchmark): + pass diff --git a/tests/Poise/SeasonalNC79Equatorial/vpl.in b/tests/Poise/SeasonalNC79Equatorial/vpl.in new file mode 100755 index 000000000..3afe6e0fa --- /dev/null +++ b/tests/Poise/SeasonalNC79Equatorial/vpl.in @@ -0,0 +1,15 @@ +sSystemName climateland +iVerbose 0 #how much do you want vplanet to yell at you? +iDigits 6 #how many digits do you want in your numbers? +bOverwrite 1 #overwrite old files +sUnitMass solar #mass unit used for input +sUnitLength au #length unit used for input +sUnitTime y #time unit +sUnitAngle d #angle unit +bDoLog 1 #create log file +saBodyFiles sun.in equatorial.in +bDoForward 1 #integrate forward in time +bVarDt 1 #use variable time stepping (not relevant to poise) +dEta 0.01 #how much to scale variable time step +dStopTime 1 #how long should the integration be +dOutputTime 1 #how much output you want diff --git a/tests/Poise/SeasonalNC79Polar/polar.in b/tests/Poise/SeasonalNC79Polar/polar.in new file mode 100755 index 000000000..02c19eead --- /dev/null +++ b/tests/Poise/SeasonalNC79Polar/polar.in @@ -0,0 +1,71 @@ +sName polar #name of planet +saModules poise #what vplanet modules you want to use +sGeography polar +dLandWaterLatitude 44.9 + +dMass 3.00316726e-06 #mass of planet +dRadius -1.00 #radius (not important right now) +dRotPeriod -1.00000 #rotation period (minus = days) +dObliquity 23.5 +dSemi 1 +dEcc 0.0 #eccentricity of orbit +dLongP 0 #pericenter, wrt Earth's position at spring equinox +# note that this is the typical value +180, +# since that one is solar position +dDynEllip 0.0 #shape of planet (0 = a sphere) +dPrecA 0.0 #orientation of spin axis + +#_______addition disorb/distrot parameters (leave these alone for now)__________________ +#dInc 5e-5 #inclination of orbit +#dLongA 348.73936 #orientation of orbital plane +#bGRCorr 0 #use GR correction (not important) +#bInvPlane 1 #convert to invariable plane coords +#bOverrideMaxEcc 1 #override max ecc halt (not recommended) +#dHaltMaxEcc 0.4 #eccentricity at which to halt simulation + +#_______poise parameters (have fun with these!)_________________________________________ +iLatCellNum 151 #number of latitude cells +sClimateModel sea #use seasonal or annual model +dTGlobalInit 14.85 #initial guess at average surface temp +iNumYears 4 #number of years (orbits) to run clim model +iNStepInYear 80 #number of steps to take in a "year" +#dSurfAlbedo 0.35 #average surface albedo (annual model only) + +#__ice params_________ +bIceSheets 1 #enable ice sheets +dInitIceLat 90. #how low do initial ice sheet extend? +dInitIceHeight 0. #height of initial ice sheets +dIceDepRate 2.25e-5 #rate of snow build up (when T < 0) +dIceAlbedo 0.6 #albedo of ice +iIceDt 1 #time step of ice-sheet model (orbits) +iReRunSeas 500 #how often to re-run seasonal model +bSeaIceModel 0 #use sea ice model (slow!) +bSkipSeasEnabled 0 #can skip seasonal if snowball state present + +#__heat diffusion______ +#bMEPDiff 1 #calculate diffusion using max entropy production +#bHadley 1 #mimic hadley heat diffusion +dDiffusion 0.58 #diffusion coefficient (fixed) +dNuLandWater 0.8 #Heat diffusion coefficient between Land and Water + +#__outgoing flux_______ +dPlanckA 203.3 #offset for OLR calculation (greenhouse) +dPlanckB 2.09 #slope of OLR calc (water vapor feedback) +bCalcAB 0 #calculate A & B from Kasting model fits +#dpCO2 0.00028 #partial pressure of co2 + +#__surface properties__ +dAlbedoLand 0.363 #albedo of land +dAlbedoWater 0.263 #albedo of water +dHeatCapLand 1.55e7 #land heat capacity +dHeatCapWater 4.428e6 #water heat capacity +dMixingDepth 70 #mixing depth of ocean + + +#________output options!_____________________________________________ +saOutputOrder Time PrecA -TGlobal AlbedoGlobal -FluxOutGlobal $ + -TotIceMass -TotIceFlow -TotIceBalance DeltaTime AreaIceCov Snowball Obliq $ + IceBeltLand IceBeltSea Ecce + +saGridOutput Time -Latitude -TempLat AlbedoLat -AnnInsol -FluxIn -FluxOut IceMass -IceHeight DIceMassDt $ + -IceFlow -BedrockH -TempMaxLat -TempMinLat -FluxMerid -DivFlux diff --git a/tests/Poise/SeasonalNC79Polar/sun.in b/tests/Poise/SeasonalNC79Polar/sun.in new file mode 100755 index 000000000..a1f97c666 --- /dev/null +++ b/tests/Poise/SeasonalNC79Polar/sun.in @@ -0,0 +1,9 @@ +# sun parameters +sName sun +dMass 1 +dSemi 0 +dEcc 0 +dRadius 0.00135 +dLuminosity -1 +sStellarModel none #sun does not change over time +saModules stellar #use stellar module (needed for luminosity) diff --git a/tests/Poise/SeasonalNC79Polar/test_SeasonalNC79Polar.py b/tests/Poise/SeasonalNC79Polar/test_SeasonalNC79Polar.py new file mode 100644 index 000000000..524eb1218 --- /dev/null +++ b/tests/Poise/SeasonalNC79Polar/test_SeasonalNC79Polar.py @@ -0,0 +1,228 @@ +from benchmark import Benchmark, benchmark +import astropy.units as u + +@benchmark( + { + "log.initial.system.Age": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.Time": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule}, + "log.initial.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule}, + "log.initial.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule}, + "log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec}, + "log.initial.sun.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.sun.Radius": {"value": 2.019571e+08, "unit": u.m}, + "log.initial.sun.RadGyra": {"value": 0.500000}, + "log.initial.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec}, + "log.initial.sun.BodyType": {"value": 0.000000}, + "log.initial.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec}, + "log.initial.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3}, + "log.initial.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m}, + "log.initial.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.sun.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec}, + "log.initial.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W}, + "log.initial.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W}, + "log.initial.sun.Temperature": {"value": 5778.000000, "unit": u.K}, + "log.initial.sun.LXUVFrac": {"value": 0.001000}, + "log.initial.sun.RossbyNumber": {"value": 0.078260}, + "log.initial.sun.DRotPerDtStellar": {"value": 6.558557e-13}, + "log.initial.sun.WindTorque": {"value": 1.119248e+25}, + "log.initial.polar.Mass": {"value": 5.971546e+24, "unit": u.kg}, + "log.initial.polar.Obliquity": {"value": 0.410152, "unit": u.rad}, + "log.initial.polar.PrecA": {"value": 0.000000, "unit": u.rad}, + "log.initial.polar.Radius": {"value": 6.378100e+06, "unit": u.m}, + "log.initial.polar.RadGyra": {"value": 0.500000}, + "log.initial.polar.BodyType": {"value": 0.000000}, + "log.initial.polar.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3}, + "log.initial.polar.HZLimitDryRunaway": {"value": 1.115053e+11, "unit": u.m}, + "log.initial.polar.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.polar.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.polar.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.polar.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.polar.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.polar.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3}, + "log.initial.polar.Eccentricity": {"value": 0.000000}, + "log.initial.polar.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec}, + "log.initial.polar.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec}, + "log.initial.polar.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m}, + "log.initial.polar.COPP": {"value": 0.000000}, + "log.initial.polar.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec}, + "log.initial.polar.TGlobal": {"value": 18.638682, "unit": u.deg_C}, + "log.initial.polar.AlbedoGlobal": {"value": 0.325628}, + "log.initial.polar.FluxInGlobal": {"value": 241.918401, "unit": u.kg / u.sec ** 3}, + "log.initial.polar.FluxOutGlobal": {"value": 242.254845, "unit": u.W / u.m ** 2}, + "log.initial.polar.TotIceMass": {"value": 0.000000, "unit": u.kg}, + "log.initial.polar.TotIceFlow": {"value": 0.000000, "unit": u.kg}, + "log.initial.polar.TotIceBalance": {"value": 0.000000, "unit": u.kg}, + "log.initial.polar.SkipSeas": {"value": 0.000000}, + "log.initial.polar.AreaIceCov": {"value": 0.000000}, + "log.initial.polar.Latitude": {"value": -83.402352, "unit": u.deg}, + "log.initial.polar.TempLat": {"value": -12.816826, "unit": u.deg_C}, + "log.initial.polar.AlbedoLat": {"value": 0.574553}, + "log.initial.polar.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2}, + "log.initial.polar.FluxMerid": {"value": -1.477182, "unit": u.PW}, + "log.initial.polar.FluxIn": {"value": 75.552308, "unit": u.W / u.m ** 2}, + "log.initial.polar.FluxOut": {"value": 176.512834, "unit": u.W / u.m ** 2}, + "log.initial.polar.DivFlux": {"value": -99.933152, "unit": u.W / u.m ** 2}, + "log.initial.polar.IceMass": {"value": 0.000000}, + "log.initial.polar.IceHeight": {"value": 0.000000, "unit": u.m}, + "log.initial.polar.DIceMassDt": {"value": 0.000000, "unit": u.m}, + "log.initial.polar.IceFlow": {"value": 0.000000, "unit": u.m / u.sec}, + "log.initial.polar.EnergyResL": {"value": -8.639695, "unit": u.kg / u.sec ** 3}, + "log.initial.polar.EnergyResW": {"value": -16.409422, "unit": u.kg / u.sec ** 3}, + "log.initial.polar.BedrockH": {"value": 0.000000, "unit": u.m}, + "log.initial.polar.TempLandLat": {"value": 260.182790, "unit": u.sec}, + "log.initial.polar.TempWaterLat": {"value": 260.221189, "unit": u.sec}, + "log.initial.polar.AlbedoLandLat": {"value": 0.574931}, + "log.initial.polar.AlbedoWaterLat": {"value": 0.537138}, + "log.initial.polar.TempMinLat": {"value": -29.929775, "unit": u.deg_C}, + "log.initial.polar.TempMaxLat": {"value": 10.778913, "unit": u.deg_C}, + "log.initial.polar.Snowball": {"value": 0.000000}, + "log.initial.polar.PlanckBAvg": {"value": 2.090000}, + "log.initial.polar.IceAccum": {"value": 0.561571}, + "log.initial.polar.IceAblate": {"value": -0.358381}, + "log.initial.polar.TempMaxLand": {"value": 283.860961, "unit": u.sec}, + "log.initial.polar.TempMaxWater": {"value": 277.769388, "unit": u.sec}, + "log.initial.polar.PeakInsol": {"value": 541.704677, "unit": u.kg / u.sec ** 3}, + "log.initial.polar.IceCapNorthLand": {"value": 0.000000}, + "log.initial.polar.IceCapNorthSea": {"value": 0.000000}, + "log.initial.polar.IceCapSouthLand": {"value": 0.000000}, + "log.initial.polar.IceCapSouthSea": {"value": 0.000000}, + "log.initial.polar.IceBeltLand": {"value": 0.000000}, + "log.initial.polar.IceBeltSea": {"value": 0.000000}, + "log.initial.polar.SnowballLand": {"value": 0.000000}, + "log.initial.polar.SnowballSea": {"value": 0.000000}, + "log.initial.polar.IceFree": {"value": 1.000000}, + "log.initial.polar.IceCapNorthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.IceCapNorthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.IceCapSouthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.IceCapSouthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.polar.LandFracGlobal": {"value": 0.295563}, + "log.final.system.Age": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.Time": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.sun.Radius": {"value": 2.019571e+08, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec, "rtol": 1e-4}, + "log.final.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.LostEnergy": {"value": 2.568599e+28, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.LostAngMom": {"value": 3.532078e+32, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.Temperature": {"value": 5778.000000, "unit": u.K, "rtol": 1e-4}, + "log.final.sun.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.sun.RossbyNumber": {"value": 0.078260, "rtol": 1e-4}, + "log.final.sun.DRotPerDtStellar": {"value": 6.558557e-13, "rtol": 1e-4}, + "log.final.sun.WindTorque": {"value": 1.119248e+25, "rtol": 1e-4}, + "log.final.polar.Mass": {"value": 5.971546e+24, "unit": u.kg, "rtol": 1e-4}, + "log.final.polar.Obliquity": {"value": 0.410152, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.PrecA": {"value": 0.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.Radius": {"value": 6.378100e+06, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.polar.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.polar.HZLimitDryRunaway": {"value": 1.115053e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.polar.Eccentricity": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.polar.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.polar.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.COPP": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.polar.TGlobal": {"value": 18.638845, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.polar.AlbedoGlobal": {"value": 0.325628, "rtol": 1e-4}, + "log.final.polar.FluxInGlobal": {"value": 241.918401, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.polar.FluxOutGlobal": {"value": 242.255187, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.polar.TotIceMass": {"value": 0.000000, "unit": u.kg, "rtol": 1e-4}, + "log.final.polar.TotIceFlow": {"value": 0.000000, "unit": u.kg, "rtol": 1e-4}, + "log.final.polar.TotIceBalance": {"value": 0.000000, "unit": u.kg, "rtol": 1e-4}, + "log.final.polar.SkipSeas": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.AreaIceCov": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.Latitude": {"value": 83.402352, "unit": u.deg, "rtol": 1e-4}, + "log.final.polar.TempLat": {"value": -12.829124, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.polar.AlbedoLat": {"value": 0.574549, "rtol": 1e-4}, + "log.final.polar.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.polar.FluxMerid": {"value": 1.474909, "unit": u.PW, "rtol": 1e-4}, + "log.final.polar.FluxIn": {"value": 75.557721, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.polar.FluxOut": {"value": 176.487131, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.polar.DivFlux": {"value": -99.779362, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.polar.IceMass": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.IceHeight": {"value": 0.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.DIceMassDt": {"value": 0.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.IceFlow": {"value": 0.000000, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.polar.EnergyResL": {"value": -0.554280, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.polar.EnergyResW": {"value": 15.300611, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.polar.BedrockH": {"value": 0.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.polar.TempLandLat": {"value": 260.170525, "unit": u.sec, "rtol": 1e-4}, + "log.final.polar.TempWaterLat": {"value": 260.205647, "unit": u.sec, "rtol": 1e-4}, + "log.final.polar.AlbedoLandLat": {"value": 0.574926, "rtol": 1e-4}, + "log.final.polar.AlbedoWaterLat": {"value": 0.537137, "rtol": 1e-4}, + "log.final.polar.TempMinLat": {"value": -29.935349, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.polar.TempMaxLat": {"value": 10.711221, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.polar.Snowball": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.PlanckBAvg": {"value": 2.090000, "rtol": 1e-4}, + "log.final.polar.IceAccum": {"value": 0.561571, "rtol": 1e-4}, + "log.final.polar.IceAblate": {"value": -0.429123, "rtol": 1e-4}, + "log.final.polar.TempMaxLand": {"value": 283.792990, "unit": u.sec, "rtol": 1e-4}, + "log.final.polar.TempMaxWater": {"value": 277.742487, "unit": u.sec, "rtol": 1e-4}, + "log.final.polar.PeakInsol": {"value": 541.684612, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.polar.IceCapNorthLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.IceCapNorthSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.IceCapSouthLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.IceCapSouthSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.IceBeltLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.IceBeltSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.SnowballLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.SnowballSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.polar.IceFree": {"value": 1.000000, "rtol": 1e-4}, + "log.final.polar.IceCapNorthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.IceCapNorthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.IceCapSouthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.IceCapSouthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.polar.LandFracGlobal": {"value": 0.295563, "rtol": 1e-4}, + } +) +class Test_SeasonalNC79Polar(Benchmark): + pass diff --git a/tests/Poise/SeasonalNC79Polar/vpl.in b/tests/Poise/SeasonalNC79Polar/vpl.in new file mode 100755 index 000000000..fc34dd9c0 --- /dev/null +++ b/tests/Poise/SeasonalNC79Polar/vpl.in @@ -0,0 +1,15 @@ +sSystemName climateland +iVerbose 0 #how much do you want vplanet to yell at you? +iDigits 6 #how many digits do you want in your numbers? +bOverwrite 1 #overwrite old files +sUnitMass solar #mass unit used for input +sUnitLength au #length unit used for input +sUnitTime y #time unit +sUnitAngle d #angle unit +bDoLog 1 #create log file +saBodyFiles sun.in polar.in +bDoForward 1 #integrate forward in time +bVarDt 1 #use variable time stepping (not relevant to poise) +dEta 0.01 #how much to scale variable time step +dStopTime 1 #how long should the integration be +dOutputTime 1 #how much output you want diff --git a/tests/Poise/SeasonalNC79Random/random.in b/tests/Poise/SeasonalNC79Random/random.in new file mode 100755 index 000000000..3c28f276a --- /dev/null +++ b/tests/Poise/SeasonalNC79Random/random.in @@ -0,0 +1,73 @@ +sName random #name of planet +saModules poise #what vplanet modules you want to use +sGeography random +iRandSeed 4.567e8 + +dMass 3.00316726e-06 #mass of planet +dRadius -1.00 #radius (not important right now) +dRotPeriod -1.00000 #rotation period (minus = days) +dObliquity 23.5 +dSemi 1 +dEcc 0.0 #eccentricity of orbit +dLongP 0 #pericenter, wrt Earth's position at spring equinox +# note that this is the typical value +180, +# since that one is solar position +dDynEllip 0.0 #shape of planet (0 = a sphere) +dPrecA 0.0 #orientation of spin axis + +#_______addition disorb/distrot parameters (leave these alone for now)__________________ +#dInc 5e-5 #inclination of orbit +#dLongA 348.73936 #orientation of orbital plane +#bGRCorr 0 #use GR correction (not important) +#bInvPlane 1 #convert to invariable plane coords +#bOverrideMaxEcc 1 #override max ecc halt (not recommended) +#dHaltMaxEcc 0.4 #eccentricity at which to halt simulation + +#_______poise parameters (have fun with these!)_________________________________________ +iLatCellNum 151 #number of latitude cells +sClimateModel sea #use seasonal or annual model +dTGlobalInit 14.85 #initial guess at average surface temp +iNumYears 4 #number of years (orbits) to run clim model +iNStepInYear 80 #number of steps to take in a "year" +#dSurfAlbedo 0.35 #average surface albedo (annual model only) +dLandFracMean 0.292 +dLandFracAmp 0.2 + +#__ice params_________ +bIceSheets 1 #enable ice sheets +dInitIceLat 90. #how low do initial ice sheet extend? +dInitIceHeight 0. #height of initial ice sheets +dIceDepRate 2.25e-5 #rate of snow build up (when T < 0) +dIceAlbedo 0.6 #albedo of ice +iIceDt 1 #time step of ice-sheet model (orbits) +iReRunSeas 500 #how often to re-run seasonal model +bSeaIceModel 0 #use sea ice model (slow!) +bSkipSeasEnabled 0 #can skip seasonal if snowball state present + +#__heat diffusion______ +#bMEPDiff 1 #calculate diffusion using max entropy production +#bHadley 1 #mimic hadley heat diffusion +dDiffusion 0.58 #diffusion coefficient (fixed) +dNuLandWater 0.8 #Heat diffusion coefficient between Land and Water + +#__outgoing flux_______ +dPlanckA 203.3 #offset for OLR calculation (greenhouse) +dPlanckB 2.09 #slope of OLR calc (water vapor feedback) +bCalcAB 0 #calculate A & B from Kasting model fits +#dpCO2 0.00028 #partial pressure of co2 + +#__surface properties__ +dAlbedoLand 0.363 #albedo of land +dAlbedoWater 0.263 #albedo of water +dHeatCapLand 1.55e7 #land heat capacity +dHeatCapWater 4.428e6 #water heat capacity +dMixingDepth 70 #mixing depth of ocean + + +#________output options!_____________________________________________ +saOutputOrder Time PrecA -TGlobal AlbedoGlobal -FluxOutGlobal $ + -TotIceMass -TotIceFlow -TotIceBalance DeltaTime AreaIceCov Snowball Obliq $ + IceBeltLand IceBeltSea Ecce + +saGridOutput Time -Latitude -TempLat AlbedoLat -AnnInsol -FluxIn -FluxOut IceMass -IceHeight DIceMassDt $ + -IceFlow -BedrockH -TempMaxLat -TempMinLat -FluxMerid -DivFlux diff --git a/tests/Poise/SeasonalNC79Random/sun.in b/tests/Poise/SeasonalNC79Random/sun.in new file mode 100755 index 000000000..a1f97c666 --- /dev/null +++ b/tests/Poise/SeasonalNC79Random/sun.in @@ -0,0 +1,9 @@ +# sun parameters +sName sun +dMass 1 +dSemi 0 +dEcc 0 +dRadius 0.00135 +dLuminosity -1 +sStellarModel none #sun does not change over time +saModules stellar #use stellar module (needed for luminosity) diff --git a/tests/Poise/SeasonalNC79Random/test_SeasonalNC79Random.py b/tests/Poise/SeasonalNC79Random/test_SeasonalNC79Random.py new file mode 100644 index 000000000..c7993c336 --- /dev/null +++ b/tests/Poise/SeasonalNC79Random/test_SeasonalNC79Random.py @@ -0,0 +1,228 @@ +from benchmark import Benchmark, benchmark +import astropy.units as u + +@benchmark( + { + "log.initial.system.Age": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.Time": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule}, + "log.initial.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule}, + "log.initial.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule}, + "log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec}, + "log.initial.sun.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.sun.Radius": {"value": 2.019571e+08, "unit": u.m}, + "log.initial.sun.RadGyra": {"value": 0.500000}, + "log.initial.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec}, + "log.initial.sun.BodyType": {"value": 0.000000}, + "log.initial.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec}, + "log.initial.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3}, + "log.initial.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m}, + "log.initial.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.sun.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec}, + "log.initial.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W}, + "log.initial.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W}, + "log.initial.sun.Temperature": {"value": 5778.000000, "unit": u.K}, + "log.initial.sun.LXUVFrac": {"value": 0.001000}, + "log.initial.sun.RossbyNumber": {"value": 0.078260}, + "log.initial.sun.DRotPerDtStellar": {"value": 6.558557e-13}, + "log.initial.sun.WindTorque": {"value": 1.119248e+25}, + "log.initial.random.Mass": {"value": 5.971546e+24, "unit": u.kg}, + "log.initial.random.Obliquity": {"value": 0.410152, "unit": u.rad}, + "log.initial.random.PrecA": {"value": 0.000000, "unit": u.rad}, + "log.initial.random.Radius": {"value": 6.378100e+06, "unit": u.m}, + "log.initial.random.RadGyra": {"value": 0.500000}, + "log.initial.random.BodyType": {"value": 0.000000}, + "log.initial.random.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3}, + "log.initial.random.HZLimitDryRunaway": {"value": 1.112428e+11, "unit": u.m}, + "log.initial.random.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.random.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.random.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.random.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.random.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.random.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3}, + "log.initial.random.Eccentricity": {"value": 0.000000}, + "log.initial.random.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec}, + "log.initial.random.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec}, + "log.initial.random.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m}, + "log.initial.random.COPP": {"value": 0.000000}, + "log.initial.random.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec}, + "log.initial.random.TGlobal": {"value": 17.283545, "unit": u.deg_C}, + "log.initial.random.AlbedoGlobal": {"value": 0.328800}, + "log.initial.random.FluxInGlobal": {"value": 238.235013, "unit": u.kg / u.sec ** 3}, + "log.initial.random.FluxOutGlobal": {"value": 239.422609, "unit": u.W / u.m ** 2}, + "log.initial.random.TotIceMass": {"value": 0.000000, "unit": u.kg}, + "log.initial.random.TotIceFlow": {"value": 0.000000, "unit": u.kg}, + "log.initial.random.TotIceBalance": {"value": 0.000000, "unit": u.kg}, + "log.initial.random.SkipSeas": {"value": 0.000000}, + "log.initial.random.AreaIceCov": {"value": 0.055747}, + "log.initial.random.Latitude": {"value": -83.402352, "unit": u.deg}, + "log.initial.random.TempLat": {"value": -13.024810, "unit": u.deg_C}, + "log.initial.random.AlbedoLat": {"value": 0.596005}, + "log.initial.random.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2}, + "log.initial.random.FluxMerid": {"value": -2.255041, "unit": u.PW}, + "log.initial.random.FluxIn": {"value": 71.047086, "unit": u.W / u.m ** 2}, + "log.initial.random.FluxOut": {"value": 176.078148, "unit": u.W / u.m ** 2}, + "log.initial.random.DivFlux": {"value": -152.556245, "unit": u.W / u.m ** 2}, + "log.initial.random.IceMass": {"value": 0.000000}, + "log.initial.random.IceHeight": {"value": 0.000000, "unit": u.m}, + "log.initial.random.DIceMassDt": {"value": 0.000000, "unit": u.m}, + "log.initial.random.IceFlow": {"value": 0.000000, "unit": u.m / u.sec}, + "log.initial.random.EnergyResL": {"value": -0.715364, "unit": u.kg / u.sec ** 3}, + "log.initial.random.EnergyResW": {"value": 0.296959, "unit": u.kg / u.sec ** 3}, + "log.initial.random.BedrockH": {"value": 0.000000, "unit": u.m}, + "log.initial.random.TempLandLat": {"value": 258.698815, "unit": u.sec}, + "log.initial.random.TempWaterLat": {"value": 261.176041, "unit": u.sec}, + "log.initial.random.AlbedoLandLat": {"value": 0.591759}, + "log.initial.random.AlbedoWaterLat": {"value": 0.600000}, + "log.initial.random.TempMinLat": {"value": -21.298326, "unit": u.deg_C}, + "log.initial.random.TempMaxLat": {"value": -3.277995, "unit": u.deg_C}, + "log.initial.random.Snowball": {"value": 0.000000}, + "log.initial.random.PlanckBAvg": {"value": 2.090000}, + "log.initial.random.IceAccum": {"value": 0.597880}, + "log.initial.random.IceAblate": {"value": -0.429577}, + "log.initial.random.TempMaxLand": {"value": 276.707036, "unit": u.sec}, + "log.initial.random.TempMaxWater": {"value": 263.187326, "unit": u.sec}, + "log.initial.random.PeakInsol": {"value": 541.704677, "unit": u.kg / u.sec ** 3}, + "log.initial.random.IceCapNorthLand": {"value": 0.000000}, + "log.initial.random.IceCapNorthSea": {"value": 1.000000}, + "log.initial.random.IceCapSouthLand": {"value": 0.000000}, + "log.initial.random.IceCapSouthSea": {"value": 1.000000}, + "log.initial.random.IceBeltLand": {"value": 0.000000}, + "log.initial.random.IceBeltSea": {"value": 0.000000}, + "log.initial.random.SnowballLand": {"value": 0.000000}, + "log.initial.random.SnowballSea": {"value": 0.000000}, + "log.initial.random.IceFree": {"value": 0.000000}, + "log.initial.random.IceCapNorthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.random.IceCapNorthLatSea": {"value": 1.152808, "unit": u.rad}, + "log.initial.random.IceCapSouthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.random.IceCapSouthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.random.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.random.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.random.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.random.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.random.LandFracGlobal": {"value": 0.292000}, + "log.final.system.Age": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.Time": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.sun.Radius": {"value": 2.019571e+08, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec, "rtol": 1e-4}, + "log.final.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.LostEnergy": {"value": 2.568599e+28, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.LostAngMom": {"value": 3.532078e+32, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.Temperature": {"value": 5778.000000, "unit": u.K, "rtol": 1e-4}, + "log.final.sun.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.sun.RossbyNumber": {"value": 0.078260, "rtol": 1e-4}, + "log.final.sun.DRotPerDtStellar": {"value": 6.558557e-13, "rtol": 1e-4}, + "log.final.sun.WindTorque": {"value": 1.119248e+25, "rtol": 1e-4}, + "log.final.random.Mass": {"value": 5.971546e+24, "unit": u.kg, "rtol": 1e-4}, + "log.final.random.Obliquity": {"value": 0.410152, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.PrecA": {"value": 0.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.Radius": {"value": 6.378100e+06, "unit": u.m, "rtol": 1e-4}, + "log.final.random.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.random.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.random.HZLimitDryRunaway": {"value": 1.112478e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.random.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.random.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.random.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.random.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.random.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.random.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.random.Eccentricity": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.random.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.random.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.random.COPP": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.random.TGlobal": {"value": 17.294952, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.random.AlbedoGlobal": {"value": 0.328739, "rtol": 1e-4}, + "log.final.random.FluxInGlobal": {"value": 238.245969, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.random.FluxOutGlobal": {"value": 239.446450, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.random.TotIceMass": {"value": 2.595204e+13, "unit": u.kg, "rtol": 1e-4}, + "log.final.random.TotIceFlow": {"value": 0.000000, "unit": u.kg, "rtol": 1e-4}, + "log.final.random.TotIceBalance": {"value": 1.798315e-09, "unit": u.kg, "rtol": 1e-4}, + "log.final.random.SkipSeas": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.AreaIceCov": {"value": 0.056722, "rtol": 1e-4}, + "log.final.random.Latitude": {"value": 83.402352, "unit": u.deg, "rtol": 1e-4}, + "log.final.random.TempLat": {"value": -11.330438, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.random.AlbedoLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.random.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.random.FluxMerid": {"value": 1.717496, "unit": u.PW, "rtol": 1e-4}, + "log.final.random.FluxIn": {"value": 70.432311, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.random.FluxOut": {"value": 179.619385, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.random.DivFlux": {"value": -116.190681, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.random.IceMass": {"value": 52.023175, "rtol": 1e-4}, + "log.final.random.IceHeight": {"value": 0.056750, "unit": u.m, "rtol": 1e-4}, + "log.final.random.DIceMassDt": {"value": 1.648515e-06, "unit": u.m, "rtol": 1e-4}, + "log.final.random.IceFlow": {"value": 0.000000, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.random.EnergyResL": {"value": -1.438093, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.random.EnergyResW": {"value": 0.179448, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.random.BedrockH": {"value": -3.087429e-06, "unit": u.m, "rtol": 1e-4}, + "log.final.random.TempLandLat": {"value": 259.880387, "unit": u.sec, "rtol": 1e-4}, + "log.final.random.TempWaterLat": {"value": 261.978765, "unit": u.sec, "rtol": 1e-4}, + "log.final.random.AlbedoLandLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.random.AlbedoWaterLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.random.TempMinLat": {"value": -14.519534, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.random.TempMaxLat": {"value": -7.644358, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.random.Snowball": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.PlanckBAvg": {"value": 2.090000, "rtol": 1e-4}, + "log.final.random.IceAccum": {"value": 0.614824, "rtol": 1e-4}, + "log.final.random.IceAblate": {"value": -0.398709, "rtol": 1e-4}, + "log.final.random.TempMaxLand": {"value": 275.152752, "unit": u.sec, "rtol": 1e-4}, + "log.final.random.TempMaxWater": {"value": 263.843906, "unit": u.sec, "rtol": 1e-4}, + "log.final.random.PeakInsol": {"value": 541.684612, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.random.IceCapNorthLand": {"value": 1.000000, "rtol": 1e-4}, + "log.final.random.IceCapNorthSea": {"value": 1.000000, "rtol": 1e-4}, + "log.final.random.IceCapSouthLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.IceCapSouthSea": {"value": 1.000000, "rtol": 1e-4}, + "log.final.random.IceBeltLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.IceBeltSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.SnowballLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.SnowballSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.IceFree": {"value": 0.000000, "rtol": 1e-4}, + "log.final.random.IceCapNorthLatLand": {"value": 1.371128, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.IceCapNorthLatSea": {"value": 1.152808, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.IceCapSouthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.IceCapSouthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.random.LandFracGlobal": {"value": 0.292000, "rtol": 1e-4}, + } +) +class Test_SeasonalNC79Random(Benchmark): + pass diff --git a/tests/Poise/SeasonalNC79Random/vpl.in b/tests/Poise/SeasonalNC79Random/vpl.in new file mode 100755 index 000000000..e5a7ff93d --- /dev/null +++ b/tests/Poise/SeasonalNC79Random/vpl.in @@ -0,0 +1,15 @@ +sSystemName climateland +iVerbose 0 #how much do you want vplanet to yell at you? +iDigits 6 #how many digits do you want in your numbers? +bOverwrite 1 #overwrite old files +sUnitMass solar #mass unit used for input +sUnitLength au #length unit used for input +sUnitTime y #time unit +sUnitAngle d #angle unit +bDoLog 1 #create log file +saBodyFiles sun.in random.in +bDoForward 1 #integrate forward in time +bVarDt 1 #use variable time stepping (not relevant to poise) +dEta 0.01 #how much to scale variable time step +dStopTime 1 #how long should the integration be +dOutputTime 1 #how much output you want diff --git a/tests/Poise/SeasonalNC79Uniform/sun.in b/tests/Poise/SeasonalNC79Uniform/sun.in new file mode 100755 index 000000000..a1f97c666 --- /dev/null +++ b/tests/Poise/SeasonalNC79Uniform/sun.in @@ -0,0 +1,9 @@ +# sun parameters +sName sun +dMass 1 +dSemi 0 +dEcc 0 +dRadius 0.00135 +dLuminosity -1 +sStellarModel none #sun does not change over time +saModules stellar #use stellar module (needed for luminosity) diff --git a/tests/Poise/SeasonalNC79Uniform/test_SeasonalNC79Uniform.py b/tests/Poise/SeasonalNC79Uniform/test_SeasonalNC79Uniform.py new file mode 100644 index 000000000..bd7242a76 --- /dev/null +++ b/tests/Poise/SeasonalNC79Uniform/test_SeasonalNC79Uniform.py @@ -0,0 +1,228 @@ +from benchmark import Benchmark, benchmark +import astropy.units as u + +@benchmark( + { + "log.initial.system.Age": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.Time": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule}, + "log.initial.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule}, + "log.initial.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule}, + "log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec}, + "log.initial.sun.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.sun.Radius": {"value": 2.019571e+08, "unit": u.m}, + "log.initial.sun.RadGyra": {"value": 0.500000}, + "log.initial.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec}, + "log.initial.sun.BodyType": {"value": 0.000000}, + "log.initial.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec}, + "log.initial.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3}, + "log.initial.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m}, + "log.initial.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3}, + "log.initial.sun.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.sun.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec}, + "log.initial.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W}, + "log.initial.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W}, + "log.initial.sun.Temperature": {"value": 5778.000000, "unit": u.K}, + "log.initial.sun.LXUVFrac": {"value": 0.001000}, + "log.initial.sun.RossbyNumber": {"value": 0.078260}, + "log.initial.sun.DRotPerDtStellar": {"value": 6.558557e-13}, + "log.initial.sun.WindTorque": {"value": 1.119248e+25}, + "log.initial.uniform.Mass": {"value": 5.971546e+24, "unit": u.kg}, + "log.initial.uniform.Obliquity": {"value": 0.410152, "unit": u.rad}, + "log.initial.uniform.PrecA": {"value": 0.000000, "unit": u.rad}, + "log.initial.uniform.Radius": {"value": 6.378100e+06, "unit": u.m}, + "log.initial.uniform.RadGyra": {"value": 0.500000}, + "log.initial.uniform.BodyType": {"value": 0.000000}, + "log.initial.uniform.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3}, + "log.initial.uniform.HZLimitDryRunaway": {"value": 1.108439e+11, "unit": u.m}, + "log.initial.uniform.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m}, + "log.initial.uniform.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m}, + "log.initial.uniform.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m}, + "log.initial.uniform.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m}, + "log.initial.uniform.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m}, + "log.initial.uniform.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3}, + "log.initial.uniform.Eccentricity": {"value": 0.000000}, + "log.initial.uniform.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec}, + "log.initial.uniform.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec}, + "log.initial.uniform.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m}, + "log.initial.uniform.COPP": {"value": 0.000000}, + "log.initial.uniform.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec}, + "log.initial.uniform.TGlobal": {"value": 16.177005, "unit": u.deg_C}, + "log.initial.uniform.AlbedoGlobal": {"value": 0.333604}, + "log.initial.uniform.FluxInGlobal": {"value": 236.924441, "unit": u.kg / u.sec ** 3}, + "log.initial.uniform.FluxOutGlobal": {"value": 237.109940, "unit": u.W / u.m ** 2}, + "log.initial.uniform.TotIceMass": {"value": 0.000000, "unit": u.kg}, + "log.initial.uniform.TotIceFlow": {"value": 0.000000, "unit": u.kg}, + "log.initial.uniform.TotIceBalance": {"value": 0.000000, "unit": u.kg}, + "log.initial.uniform.SkipSeas": {"value": 0.000000}, + "log.initial.uniform.AreaIceCov": {"value": 0.065642}, + "log.initial.uniform.Latitude": {"value": -83.402352, "unit": u.deg}, + "log.initial.uniform.TempLat": {"value": -13.449779, "unit": u.deg_C}, + "log.initial.uniform.AlbedoLat": {"value": 0.600000}, + "log.initial.uniform.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2}, + "log.initial.uniform.FluxMerid": {"value": -1.510862, "unit": u.PW}, + "log.initial.uniform.FluxIn": {"value": 70.432311, "unit": u.W / u.m ** 2}, + "log.initial.uniform.FluxOut": {"value": 175.189962, "unit": u.W / u.m ** 2}, + "log.initial.uniform.DivFlux": {"value": -102.211645, "unit": u.W / u.m ** 2}, + "log.initial.uniform.IceMass": {"value": 0.000000}, + "log.initial.uniform.IceHeight": {"value": 0.000000, "unit": u.m}, + "log.initial.uniform.DIceMassDt": {"value": 0.000000, "unit": u.m}, + "log.initial.uniform.IceFlow": {"value": 0.000000, "unit": u.m / u.sec}, + "log.initial.uniform.EnergyResL": {"value": -0.923722, "unit": u.kg / u.sec ** 3}, + "log.initial.uniform.EnergyResW": {"value": 0.216110, "unit": u.kg / u.sec ** 3}, + "log.initial.uniform.BedrockH": {"value": 0.000000, "unit": u.m}, + "log.initial.uniform.TempLandLat": {"value": 257.607045, "unit": u.sec}, + "log.initial.uniform.TempWaterLat": {"value": 260.351644, "unit": u.sec}, + "log.initial.uniform.AlbedoLandLat": {"value": 0.600000}, + "log.initial.uniform.AlbedoWaterLat": {"value": 0.600000}, + "log.initial.uniform.TempMinLat": {"value": -18.988426, "unit": u.deg_C}, + "log.initial.uniform.TempMaxLat": {"value": -7.191886, "unit": u.deg_C}, + "log.initial.uniform.Snowball": {"value": 0.000000}, + "log.initial.uniform.PlanckBAvg": {"value": 2.090000}, + "log.initial.uniform.IceAccum": {"value": 0.609982}, + "log.initial.uniform.IceAblate": {"value": -0.263629}, + "log.initial.uniform.TempMaxLand": {"value": 274.781733, "unit": u.sec}, + "log.initial.uniform.TempMaxWater": {"value": 262.300735, "unit": u.sec}, + "log.initial.uniform.PeakInsol": {"value": 541.704677, "unit": u.kg / u.sec ** 3}, + "log.initial.uniform.IceCapNorthLand": {"value": 0.000000}, + "log.initial.uniform.IceCapNorthSea": {"value": 1.000000}, + "log.initial.uniform.IceCapSouthLand": {"value": 0.000000}, + "log.initial.uniform.IceCapSouthSea": {"value": 1.000000}, + "log.initial.uniform.IceBeltLand": {"value": 0.000000}, + "log.initial.uniform.IceBeltSea": {"value": 0.000000}, + "log.initial.uniform.SnowballLand": {"value": 0.000000}, + "log.initial.uniform.SnowballSea": {"value": 0.000000}, + "log.initial.uniform.IceFree": {"value": 0.000000}, + "log.initial.uniform.IceCapNorthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.uniform.IceCapNorthLatSea": {"value": 1.121291, "unit": u.rad}, + "log.initial.uniform.IceCapSouthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.uniform.IceCapSouthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.uniform.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.uniform.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.uniform.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad}, + "log.initial.uniform.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad}, + "log.initial.uniform.LandFracGlobal": {"value": 0.292000}, + "log.final.system.Age": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.Time": {"value": 3.155760e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.TotAngMom": {"value": 1.501063e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.system.TotEnergy": {"value": -7.839372e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.PotEnergy": {"value": -7.839908e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.KinEnergy": {"value": 5.361272e+37, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.sun.Radius": {"value": 2.019571e+08, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.sun.RotAngMom": {"value": 1.474456e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.RotVel": {"value": 1.468674e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.sun.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.sun.RotPer": {"value": 8.640000e+04, "unit": u.sec, "rtol": 1e-4}, + "log.final.sun.Density": {"value": 5.762900e+04, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.sun.HZLimitDryRunaway": {"value": 1.357831e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.sun.LXUVTot": {"value": 3.846000e+23, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sun.LostEnergy": {"value": 2.568599e+28, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sun.LostAngMom": {"value": 3.532078e+32, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sun.EscapeVelocity": {"value": 1.146413e+06, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sun.Luminosity": {"value": 3.846000e+26, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.LXUVStellar": {"value": 3.846000e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.sun.Temperature": {"value": 5778.000000, "unit": u.K, "rtol": 1e-4}, + "log.final.sun.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.sun.RossbyNumber": {"value": 0.078260, "rtol": 1e-4}, + "log.final.sun.DRotPerDtStellar": {"value": 6.558557e-13, "rtol": 1e-4}, + "log.final.sun.WindTorque": {"value": 1.119248e+25, "rtol": 1e-4}, + "log.final.uniform.Mass": {"value": 5.971546e+24, "unit": u.kg, "rtol": 1e-4}, + "log.final.uniform.Obliquity": {"value": 0.410152, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.PrecA": {"value": 0.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.Radius": {"value": 6.378100e+06, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.RadGyra": {"value": 0.500000, "rtol": 1e-4}, + "log.final.uniform.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.Density": {"value": 5494.449526, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.uniform.HZLimitDryRunaway": {"value": 1.108439e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.HZLimRecVenus": {"value": 1.118929e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.HZLimRunaway": {"value": 1.461108e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.HZLimMoistGreenhouse": {"value": 1.480517e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.HZLimMaxGreenhouse": {"value": 2.509538e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.HZLimEarlyMars": {"value": 2.738109e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.Instellation": {"value": 1367.566935, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.uniform.Eccentricity": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.MeanMotion": {"value": 1.990987e-07, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.uniform.OrbPeriod": {"value": 3.155815e+07, "unit": u.sec, "rtol": 1e-4}, + "log.final.uniform.SemiMajorAxis": {"value": 1.495979e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.COPP": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.EscapeVelocity": {"value": 1.117931e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.uniform.TGlobal": {"value": 16.181001, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.uniform.AlbedoGlobal": {"value": 0.333604, "rtol": 1e-4}, + "log.final.uniform.FluxInGlobal": {"value": 236.924441, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.uniform.FluxOutGlobal": {"value": 237.118291, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.uniform.TotIceMass": {"value": 1.293774e+14, "unit": u.kg, "rtol": 1e-4}, + "log.final.uniform.TotIceFlow": {"value": 0.000000, "unit": u.kg, "rtol": 1e-4}, + "log.final.uniform.TotIceBalance": {"value": 4.524064e-09, "unit": u.kg, "rtol": 1e-4}, + "log.final.uniform.SkipSeas": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.AreaIceCov": {"value": 0.071444, "rtol": 1e-4}, + "log.final.uniform.Latitude": {"value": 83.402352, "unit": u.deg, "rtol": 1e-4}, + "log.final.uniform.TempLat": {"value": -13.511537, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.uniform.AlbedoLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.uniform.AnnInsol": {"value": 176.064060, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.uniform.FluxMerid": {"value": 1.506570, "unit": u.PW, "rtol": 1e-4}, + "log.final.uniform.FluxIn": {"value": 70.432311, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.uniform.FluxOut": {"value": 175.060887, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.uniform.DivFlux": {"value": -101.921232, "unit": u.W / u.m ** 2, "rtol": 1e-4}, + "log.final.uniform.IceMass": {"value": 65.838491, "rtol": 1e-4}, + "log.final.uniform.IceHeight": {"value": 0.071821, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.DIceMassDt": {"value": 2.086296e-06, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.IceFlow": {"value": 0.000000, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.uniform.EnergyResL": {"value": -0.923722, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.uniform.EnergyResW": {"value": 0.216110, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.uniform.BedrockH": {"value": -3.907329e-06, "unit": u.m, "rtol": 1e-4}, + "log.final.uniform.TempLandLat": {"value": 257.571610, "unit": u.sec, "rtol": 1e-4}, + "log.final.uniform.TempWaterLat": {"value": 260.279029, "unit": u.sec, "rtol": 1e-4}, + "log.final.uniform.AlbedoLandLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.uniform.AlbedoWaterLat": {"value": 0.600000, "rtol": 1e-4}, + "log.final.uniform.TempMinLat": {"value": -19.044471, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.uniform.TempMaxLat": {"value": -7.261100, "unit": u.deg_C, "rtol": 1e-4}, + "log.final.uniform.Snowball": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.PlanckBAvg": {"value": 2.090000, "rtol": 1e-4}, + "log.final.uniform.IceAccum": {"value": 0.622085, "rtol": 1e-4}, + "log.final.uniform.IceAblate": {"value": -0.369692, "rtol": 1e-4}, + "log.final.uniform.TempMaxLand": {"value": 274.740432, "unit": u.sec, "rtol": 1e-4}, + "log.final.uniform.TempMaxWater": {"value": 262.225513, "unit": u.sec, "rtol": 1e-4}, + "log.final.uniform.PeakInsol": {"value": 541.684612, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.uniform.IceCapNorthLand": {"value": 1.000000, "rtol": 1e-4}, + "log.final.uniform.IceCapNorthSea": {"value": 1.000000, "rtol": 1e-4}, + "log.final.uniform.IceCapSouthLand": {"value": 1.000000, "rtol": 1e-4}, + "log.final.uniform.IceCapSouthSea": {"value": 1.000000, "rtol": 1e-4}, + "log.final.uniform.IceBeltLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.IceBeltSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.SnowballLand": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.SnowballSea": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.IceFree": {"value": 0.000000, "rtol": 1e-4}, + "log.final.uniform.IceCapNorthLatLand": {"value": 1.312738, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.IceCapNorthLatSea": {"value": 1.121291, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.IceCapSouthLatLand": {"value": -1.371128, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.IceCapSouthLatSea": {"value": -1.371128, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.IceBeltNorthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.IceBeltNorthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.IceBeltSouthLatLand": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.IceBeltSouthLatSea": {"value": 100.000000, "unit": u.rad, "rtol": 1e-4}, + "log.final.uniform.LandFracGlobal": {"value": 0.292000, "rtol": 1e-4}, + } +) +class Test_SeasonalNC79Uniform(Benchmark): + pass diff --git a/tests/Poise/SeasonalNC79Uniform/uniform.in b/tests/Poise/SeasonalNC79Uniform/uniform.in new file mode 100755 index 000000000..c7423f090 --- /dev/null +++ b/tests/Poise/SeasonalNC79Uniform/uniform.in @@ -0,0 +1,71 @@ +sName uniform #name of planet +saModules poise #what vplanet modules you want to use +sGeography uniform +dLandFrac 0.292 + +dMass 3.00316726e-06 #mass of planet +dRadius -1.00 #radius (not important right now) +dRotPeriod -1.00000 #rotation period (minus = days) +dObliquity 23.5 +dSemi 1 +dEcc 0.0 #eccentricity of orbit +dLongP 0 #pericenter, wrt Earth's position at spring equinox +# note that this is the typical value +180, +# since that one is solar position +dDynEllip 0.0 #shape of planet (0 = a sphere) +dPrecA 0.0 #orientation of spin axis + +#_______addition disorb/distrot parameters (leave these alone for now)__________________ +#dInc 5e-5 #inclination of orbit +#dLongA 348.73936 #orientation of orbital plane +#bGRCorr 0 #use GR correction (not important) +#bInvPlane 1 #convert to invariable plane coords +#bOverrideMaxEcc 1 #override max ecc halt (not recommended) +#dHaltMaxEcc 0.4 #eccentricity at which to halt simulation + +#_______poise parameters (have fun with these!)_________________________________________ +iLatCellNum 151 #number of latitude cells +sClimateModel sea #use seasonal or annual model +dTGlobalInit 14.85 #initial guess at average surface temp +iNumYears 4 #number of years (orbits) to run clim model +iNStepInYear 80 #number of steps to take in a "year" +#dSurfAlbedo 0.35 #average surface albedo (annual model only) + +#__ice params_________ +bIceSheets 1 #enable ice sheets +dInitIceLat 90. #how low do initial ice sheet extend? +dInitIceHeight 0. #height of initial ice sheets +dIceDepRate 2.25e-5 #rate of snow build up (when T < 0) +dIceAlbedo 0.6 #albedo of ice +iIceDt 1 #time step of ice-sheet model (orbits) +iReRunSeas 500 #how often to re-run seasonal model +bSeaIceModel 0 #use sea ice model (slow!) +bSkipSeasEnabled 0 #can skip seasonal if snowball state present + +#__heat diffusion______ +#bMEPDiff 1 #calculate diffusion using max entropy production +#bHadley 1 #mimic hadley heat diffusion +dDiffusion 0.58 #diffusion coefficient (fixed) +dNuLandWater 0.8 #Heat diffusion coefficient between Land and Water + +#__outgoing flux_______ +dPlanckA 203.3 #offset for OLR calculation (greenhouse) +dPlanckB 2.09 #slope of OLR calc (water vapor feedback) +bCalcAB 0 #calculate A & B from Kasting model fits +#dpCO2 0.00028 #partial pressure of co2 + +#__surface properties__ +dAlbedoLand 0.363 #albedo of land +dAlbedoWater 0.263 #albedo of water +dHeatCapLand 1.55e7 #land heat capacity +dHeatCapWater 4.428e6 #water heat capacity +dMixingDepth 70 #mixing depth of ocean + + +#________output options!_____________________________________________ +saOutputOrder Time PrecA -TGlobal AlbedoGlobal -FluxOutGlobal $ + -TotIceMass -TotIceFlow -TotIceBalance DeltaTime AreaIceCov Snowball Obliq $ + IceBeltLand IceBeltSea Ecce + +saGridOutput Time -Latitude -TempLat AlbedoLat -AnnInsol -FluxIn -FluxOut IceMass -IceHeight DIceMassDt $ + -IceFlow -BedrockH -TempMaxLat -TempMinLat -FluxMerid -DivFlux diff --git a/tests/Poise/SeasonalNC79Uniform/vpl.in b/tests/Poise/SeasonalNC79Uniform/vpl.in new file mode 100755 index 000000000..aee523207 --- /dev/null +++ b/tests/Poise/SeasonalNC79Uniform/vpl.in @@ -0,0 +1,15 @@ +sSystemName climateland +iVerbose 0 #how much do you want vplanet to yell at you? +iDigits 6 #how many digits do you want in your numbers? +bOverwrite 1 #overwrite old files +sUnitMass solar #mass unit used for input +sUnitLength au #length unit used for input +sUnitTime y #time unit +sUnitAngle d #angle unit +bDoLog 1 #create log file +saBodyFiles sun.in uniform.in +bDoForward 1 #integrate forward in time +bVarDt 1 #use variable time stepping (not relevant to poise) +dEta 0.01 #how much to scale variable time step +dStopTime 1 #how long should the integration be +dOutputTime 1 #how much output you want