Commit 6779a337 authored by Andrea Giannetti's avatar Andrea Giannetti
Browse files

Added grid computation procedure.

parent 3fc30cbe
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -28,7 +28,8 @@ def load_config_file(config_file_path: str,
    with open(config_file_path) as config_file:
        config = yaml.load(config_file, Loader=yaml.FullLoader)
    for key in _override_config:
        config[key] = _override_config[key]
        for subkey in _override_config[key]:
            config[key][subkey] = _override_config[key][subkey]
    return config


etl/main.py

0 → 100644
+35 −0
Original line number Diff line number Diff line
import os
import numpy as np
from itertools import product
from stg.stg_radmc_input_generator import main as stg_main
from mdl.mdl_prepare_radmc_command import main as create_radmc_script
from mdl.mdl_save_results_as_fits import main as save_results
from prs.prs_compute_integrated_fluxes_and_ratios import main as prs_main

# grid definition
dust_temperatures = np.arange(10, 25, 5)
central_densities = np.array([1e4, 1e5, 1e6])
lines = [2, 3]
# loop override definition
for (tdust, nH2) in product(dust_temperatures, central_densities):
    overrides = {
        'grid': {
            'dust_temperature': tdust,
            'central_density': nH2,
        }
    }
    stg_main(override_config=overrides)
    for line in lines:
        line_overrides = {
            'radmc': {
                'iline': line
            }
        }
        create_radmc_script(override_config=line_overrides)
        os.system('chmod u+x ./mdl/radmc3d_postprocessing.sh')
        os.system('./mdl/radmc3d_postprocessing.sh')
        save_results(cube_out_name=f'td_{tdust}_nh2_{nH2}_line_{line}.fits')
    prs_main(cube_fits1=f'td_{tdust}_nh2_{nH2}_line_{lines[0]}.fits',
             cube_fits2=f'td_{tdust}_nh2_{nH2}_line_{lines[1]}.fits',
             ratio_fits_name=f'ratio_td_{tdust}_nh2_{nH2}_lines_{lines[0]}-{lines[1]}.fits')
# call ETL routines
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ def main(override_config: Union[dict, None] = None):
        frequency=float(config['radmc']['central_frequency']) * u.Unit(config['radmc']['frequency_units']),
        output_units=u.Unit("micron"))
    with open(os.path.join('mdl', 'radmc3d_postprocessing.sh'), 'w') as outfile:
        outfile.write('cd radmc_files\n')
        outfile.write('cd mdl/radmc_files\n')
        outfile.write(f'radmc3d image incl {config["radmc"]["inclination"]} phi {config["radmc"]["position_angle"]}'
                      f' iline {config["radmc"]["iline"]} widthkms {config["radmc"]["width_kms"]} '
                      f'linenlam {config["radmc"]["nchannels"]} npix {config["radmc"]["npix"]}')
+5 −1
Original line number Diff line number Diff line
@@ -9,7 +9,11 @@ def main(cube_out_name: Union[str, None] = None,
    _cube_out_name = validate_parameter(cube_out_name, default='test_cube.fits')
    _cube_out_path = validate_parameter(cube_out_path, default=os.path.join('prs', 'fits', 'cubes'))
    imdata = image.readImage(fname='mdl/radmc_files/image.out')
    imdata.writeFits(fname=os.path.join(_cube_out_path, _cube_out_name))
    output_name = os.path.join(_cube_out_path, _cube_out_name)
    if os.path.isfile(output_name):
        os.remove(output_name)
    imdata.writeFits(fname=output_name)


if __name__ == '__main__':
    main()
+8 −6
Original line number Diff line number Diff line
@@ -61,15 +61,17 @@ def compute_image_ratios(fits1: str,

def main(cube_fits1: str,
         cube_fits2: str,
         mom0_out_cube1:str,
         mom0_out_cube2:str,
         mom0_out_cube1: Union[str, None] = None,
         mom0_out_cube2: Union[str, None] = None,
         ratio_fits_name: Union[str, None] = None):
    _mom0_out_cube1 = validate_parameter(mom0_out_cube1, default=cube_fits1.replace('.fits', '_mom0.fits'))
    _mom0_out_cube2 = validate_parameter(mom0_out_cube2, default=cube_fits2.replace('.fits', '_mom0.fits'))
    compute_moment_zero(cube=cube_fits1,
                               moment_zero_fits_name=mom0_out_cube1)
                        moment_zero_fits_name=_mom0_out_cube1)
    compute_moment_zero(cube=cube_fits2,
                               moment_zero_fits_name=mom0_out_cube2)
    compute_image_ratios(fits1=mom0_out_cube1,
                         fits2=mom0_out_cube2,
                        moment_zero_fits_name=_mom0_out_cube2)
    compute_image_ratios(fits1=_mom0_out_cube1,
                         fits2=_mom0_out_cube2,
                         ratio_fits_name=ratio_fits_name)


Loading