Skip to content

Commit

Permalink
Fixed problem with saving JSON output.
Browse files Browse the repository at this point in the history
  • Loading branch information
Cameron-Van-Eck committed Dec 12, 2022
1 parent 8ba8da6 commit 47e8915
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 1 deletion.
11 changes: 11 additions & 0 deletions RMtools_1D/do_QUfit_1D_mnest.py
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,17 @@ def run_qufit(
"IfitPolyOrd": toscalar(IfitDict["polyOrd"]),
"Ifitfreq0": toscalar(IfitDict["reference_frequency_Hz"]),
}


for k, v in saveDict.items():
if isinstance(v, np.float_):
saveDict[k] = float(v)
elif isinstance(v, np.int_):
saveDict[k] = int(v)
elif isinstance(v, np.ndarray):
saveDict[k] = v.tolist()
elif isinstance(v, np.bool_):
saveDict[k] = bool(v)
json.dump(saveDict, open(outFile, "w"))
outFile = f"{prefixOut}_m{modelNum}_{sampler}.dat"
FH = open(outFile, "w")
Expand Down
10 changes: 10 additions & 0 deletions RMtools_1D/do_RMclean_1D.py
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,16 @@ def saveOutput(mDict_cl, aDict_cl, prefixOut="", verbose=False, log=print):
FH.close()
outFile = prefixOut + "_RMclean.json"
if verbose: log("> %s" % outFile)
for k, v in mDict_cl.items():
if isinstance(v, np.float_):
mDict_cl[k] = float(v)
elif isinstance(v, np.int_):
mDict_cl[k] = int(v)
elif isinstance(v, np.ndarray):
mDict_cl[k] = v.tolist()
elif isinstance(v, np.bool_):
mDict_cl[k] = bool(v)

json.dump(mDict_cl, open(outFile, "w"))

def readFiles(fdfFile, rmsfFile, weightFile, rmSynthFile, nBits):
Expand Down
12 changes: 12 additions & 0 deletions RMtools_1D/do_RMsynth_1D.py
Original file line number Diff line number Diff line change
Expand Up @@ -560,6 +560,18 @@ def saveOutput(outdict, arrdict, prefixOut, verbose):

if verbose:
print("> %s" % outFile)

for k, v in outdict.items():
if isinstance(v, np.float_):
outdict[k] = float(v)
elif isinstance(v, np.int_):
outdict[k] = int(v)
elif isinstance(v, np.ndarray):
outdict[k] = v.tolist()
elif isinstance(v, np.bool_):
outdict[k] = bool(v)


json.dump(dict(outdict), open(outFile, "w"))


Expand Down
2 changes: 1 addition & 1 deletion tests/RMsynth1D_referencevalues.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"dFDFcorMAD": 0.012824177742004395, "dFDFrms": 0.03170722723007202, "phiPeakPIchan_rm2": 201.0, "dPhiPeakPIchan_rm2": 0.24814919763068932, "ampPeakPIchan": 0.6994333267211914, "ampPeakPIchanEff": 0.6993762345202659, "dAmpPeakPIchan": 0.005892556709695188, "snrPIchan": 118.69776757012694, "indxPeakPIchan": 267, "peakFDFimagChan": -0.5605906844139099, "peakFDFrealChan": 0.41826435923576355, "polAngleChan_deg": 153.36356353759766, "dPolAngleChan_deg": 0.24135154639379308, "polAngle0Chan_deg": 44.00376296895752, "dPolAngle0Chan_deg": 1.3731897339320969, "phiPeakPIfit_rm2": 200.29003676576465, "dPhiPeakPIfit_rm2": 0.248062934269283, "ampPeakPIfit": 0.6996765531831387, "ampPeakPIfitEff": 0.699619480830623, "dAmpPeakPIfit": 0.005892556709695188, "snrPIfit": 118.73904446807298, "indxPeakPIfit": 266.7633455885882, "peakFDFimagFit": -0.5593282099678656, "peakFDFrealFit": 0.4190415975286484, "polAngleFit_deg": 153.42004263949445, "dPolAngleFit_deg": 0.24126764607950102, "polAngle0Fit_deg": 48.26124570608431, "dPolAngle0Fit_deg": 1.372712376102901, "Ifreq0": 1.0, "polyCoeffs": "0.0,0.0,0.0,0.0,0.0,1.0", "polyCoefferr": "0.0,0.0,0.0,19.15748709659049,0.6786377104199252,0.08796823965028172", "poly_reffreq": 944000000.2222222, "IfitStat": 4, "IfitChiSqRed": 0.0, "fit_function": "log", "lam0Sq_m2": 0.10327484831236765, "freq0_Hz": 932874912.6426204, "fwhmRMSF": 58.90951156616211, "dQU": 0.10000000149011612, "dFDFth": 0.005892556709695188, "units": "Jy/beam", "polyOrd": 2, "min_freq": 800000000.0, "max_freq": 1088000000.0, "N_channels": 288, "median_channel_width": 1003456.0, "fracPol": 0.6996765531831387, "sigmaAddQ": 0.39312059810649663, "dSigmaAddMinusQ": 0.2859949907172898, "dSigmaAddPlusQ": 0.13645904926608626, "sigmaAddU": 0.22680054259742569, "dSigmaAddMinusU": 0.20949437831506873, "dSigmaAddPlusU": 0.20581573041436466}
{"dFDFcorMAD": 0.012824177742004395, "dFDFrms": 0.03170722723007202, "phiPeakPIchan_rm2": 201.0, "dPhiPeakPIchan_rm2": 0.24814919763068932, "ampPeakPIchan": 0.6994333267211914, "ampPeakPIchanEff": 0.6993762345202659, "dAmpPeakPIchan": 0.005892556709695188, "snrPIchan": 118.69776757012694, "indxPeakPIchan": 267, "peakFDFimagChan": -0.5605906844139099, "peakFDFrealChan": 0.41826435923576355, "polAngleChan_deg": 153.36356353759766, "dPolAngleChan_deg": 0.24135154639379308, "polAngle0Chan_deg": 44.00376296895752, "dPolAngle0Chan_deg": 1.3731897339320969, "phiPeakPIfit_rm2": 200.29003676576465, "dPhiPeakPIfit_rm2": 0.248062934269283, "ampPeakPIfit": 0.6996765531831387, "ampPeakPIfitEff": 0.699619480830623, "dAmpPeakPIfit": 0.005892556709695188, "snrPIfit": 118.73904446807298, "indxPeakPIfit": 266.7633455885882, "peakFDFimagFit": -0.5593282099678656, "peakFDFrealFit": 0.4190415975286484, "polAngleFit_deg": 153.42004263949445, "dPolAngleFit_deg": 0.24126764607950102, "polAngle0Fit_deg": 48.26124570608431, "dPolAngle0Fit_deg": 1.372712376102901, "Ifreq0": 1.0, "polyCoeffs": "0.0,0.0,0.0,0.0,0.0,1.0", "polyCoefferr": "0.0,0.0,0.0,19.157487096590494,0.6786377104199252,0.08796823965028173", "poly_reffreq": 944000000.2222222, "polyOrd": 2, "IfitStat": 4, "IfitChiSqRed": 0.0, "fit_function": "log", "lam0Sq_m2": 0.10327484831236765, "freq0_Hz": 932874912.6426204, "fwhmRMSF": 58.90951156616211, "dQU": 0.10000000149011612, "dFDFth": 0.005892556709695188, "units": "Jy/beam", "min_freq": 800000000.0, "max_freq": 1088000000.0, "N_channels": 288, "median_channel_width": 1003456.0, "fracPol": 0.699619480830623, "sigmaAddQ": 0.3932147299302305, "dSigmaAddMinusQ": 0.28588346072691073, "dSigmaAddPlusQ": 0.13642591925592168, "sigmaAddU": 0.22666017312932038, "dSigmaAddMinusU": 0.20936429555590333, "dSigmaAddPlusU": 0.20587598580813857}

0 comments on commit 47e8915

Please sign in to comment.