Skip to content

Instantly share code, notes, and snippets.

View j-faria's full-sized avatar
🎯
Focusing

João Faria j-faria

🎯
Focusing
View GitHub Profile
@j-faria
j-faria / styler.py
Last active November 15, 2017 07:16
A custom styler to make publication-ready matplotlib plots
# matplotlib parameters for publication plots
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
from matplotlib import gridspec
import re
import os
this_folder = os.path.dirname(__file__)
@j-faria
j-faria / mount.sh
Created February 2, 2017 00:54
Mount a remote directory locally using `sshfs`
ssh -N -f -L port:server2:22 user@server1
# mount the directory locally
sshfs -C -p port user@localhost:remote_directory local_directory(must exist)
# unmount
sudo umount local_directory
@j-faria
j-faria / kepler.cpp
Created January 16, 2017 19:19
C++ implementation of "A Practical Method for Solving the Kepler Equation"
/**
Calculates the eccentric anomaly at time t by solving Kepler's equation.
See "A Practical Method for Solving the Kepler Equation", Marc A. Murison, 2006
@param t the time at which to calculate the eccentric anomaly.
@param period the orbital period of the planet
@param ecc the eccentricity of the orbit
@param t_peri time of periastron passage
@return eccentric anomaly.
*/
@j-faria
j-faria / gist:3c642e1fa69b00653a608232d86dffe6
Created November 23, 2016 17:37
Special function for Vardan
def fun(teff=None, mass=None):
if teff and mass:
# gave two parameters
pass # goto 1
elif teff:
# don't have mass, have teff
mass = f(teff)
elif mass:
# don't have teff, have mass
# teff = f(mass)
@j-faria
j-faria / bw.py
Last active April 6, 2016 16:53
Convert a PDF file to black&white and display it
#!/usr/bin/env python
"""
Convert a PDF file to black&white and display it.
Run as: python bw.py input.pdf
"""
viewer = 'evince'
from contextlib import contextmanager
import tempfile
@j-faria
j-faria / HARPS_ESOarchive.py
Created March 25, 2016 15:27
Query the ESO archive for HARPS data. Works with astroquery.eso version in my fork https://github.com/j-faria/astroquery/commit/01aba0d488acec92c78b5cc792ceca628aa9ef22
import sys
from astroquery.eso import Eso
eso = Eso()
# should use the default username
# and the keyring stored password
authentication = eso.login()
if not authentication:
raise RuntimeError('Something went wrong with authentication!')
@j-faria
j-faria / read_rdb.py
Last active June 23, 2018 17:58
.rdb file reader
import numpy as np
import cStringIO
filename = 'example.rdb'
def read_rdb(filename):
""" Reads a .rdb file with possible comments '#' and header
col1 col2 col3
---- ---- ----
Returns a numpy record array
@j-faria
j-faria / BayesCorr.py
Created September 10, 2015 10:42
Bayesian correlation
#!/usr/env/python
# -*- coding: utf-8 -*-
# Written by Pedro Figueira.
# Original version can be found at https://pedrofigueira@bitbucket.org/pedrofigueira/bayesiancorrelation
# Modified by João Faria
"""Bayesian Correlation.
Usage:
@j-faria
j-faria / change_par_file.py
Last active August 29, 2015 14:21
Change parameter file, in place
import fileinput
import os
# create a copy of the template parameter file
os.system('cp template_file new_file')
# for example, in the template you have
# par1 = 10
# par2 = 'some path'
# and you want to change to
@j-faria
j-faria / pearsonr.f90
Created April 2, 2015 13:41
Calculate the Pearson correlation coefficient of two arrays
real(kind=8) function pearsonr(x, y) result(r)
! given two arrays x and y, this function computes their Pearson correlation coefficient r
implicit none
real(kind=8), dimension(:) :: x, y
real(kind=8), dimension(size(x)) :: xt, yt
real(kind=8) :: ax, ay, df, sxx, sxy, syy
integer :: n
if (size(x) /= size(y)) STOP 'Dimension mismatch in pearsonr'