Flight plan - HALO-20240822a

Contents

Flight plan - HALO-20240822a#

ec_under ec_track c_north c_mid c_south c_atr

Crew#

The flight is planned to take off at 2024-08-22 11:10:00+00:00.

Job

Name

PI

Florian Ewald

WALES

Silke Groß

HAMP

Clara Bayley

Dropsondes

Nina Robbins

Smart/VELOX

Sophie Rosenburg

SpecMACS

Veronika Pörtge

Scientist

Brett McKim

Ground contact

Georgios Dekoutsidis

Flight plan#

Hide code cell source
from orcestra.flightplan import sal, bco, LatLon, IntoCircle, path_preview, plot_cwv, find_ec_lon, mindelo
import orcestra.sat
from datetime import datetime
import intake
import easygems.healpix as egh

cat = intake.open_catalog("https://tcodata.mpimet.mpg.de/internal.yaml")

# Define dates for forecast initialization and flight

issued_time = datetime(2024, 8, 19, 0, 0, 0)
issued_time_str = issued_time.strftime('%Y-%m-%d')

flight_time = datetime(2024, 8, 22, 11, 10, 0)
flight_time_str = flight_time.strftime('%Y-%m-%d')
flight_index = f"HALO-{flight_time.strftime('%Y%m%d')}a"

print("Initalization date of IFS forecast: " + issued_time_str + "\nFlight date: " + flight_time_str + "\nFlight index: " + flight_index)

# Load ec satellite track for
track = orcestra.sat.SattrackLoader("EARTHCARE", "2024-08-22", kind="PRE").get_track_for_day(flight_time_str)
track = track.sel(time=slice(flight_time_str + " 06:00", None))
ec_lons, ec_lats = track.lon.values, track.lat.values

radius = 133e3

lat_edge_south = 6.0
lat_edge_north = 13.3
lat_edge_center = 9.5

airport = sal

lat_north = 17.0 # 10th percentile     #???
lat_south = 6.0 # 5th percentile - 1°  #???

lat_north_ec = 17.0
lat_meet_ec = 15.75
lat_south_ec = 14.5

lat_atr_south_ec = 13.89083333
lat_atr_circle_ec = 14.18
lat_atr_north_ec = 14.77972222

lat_atr_circle_east = 16.064
lon_atr_circle_east = -21.889

# Setting lat/lon coordinates

# Points where we get on ec track?
north_ec = LatLon(lat_north, find_ec_lon(lat_north, ec_lons, ec_lats), "north")
south_ec = LatLon(lat_south, find_ec_lon(lat_south, ec_lons, ec_lats), "south")

# Points where to meet atr and earthcare
north_ec_atr = LatLon(lat_north_ec, find_ec_lon(lat_north_ec, ec_lons, ec_lats), "north_ec")
meet_ec_atr = LatLon(lat_meet_ec, find_ec_lon(lat_meet_ec, ec_lons, ec_lats), "meet_ec")
south_ec_atr = LatLon(lat_south_ec, find_ec_lon(lat_south_ec, ec_lons, ec_lats), "south_ec")

# Intersection of ITCZ edges with ec track
circle_north = LatLon(lat_edge_north, find_ec_lon(lat_edge_north, ec_lons, ec_lats), "circle_north")

circle_center = LatLon(lat_edge_center, find_ec_lon(lat_edge_center, ec_lons, ec_lats), "circle_center")

circle_south = LatLon(lat_edge_south, find_ec_lon(lat_edge_south, ec_lons, ec_lats), "circle_south")

circle_atr_ec = LatLon(lat_atr_circle_ec, find_ec_lon(lat_atr_circle_ec, ec_lons, ec_lats),'circle_atr_ec')

circle_atr_east = LatLon(lat_atr_circle_east, lon_atr_circle_east,'circle_atr_east')


leg_south = [
     airport,
     north_ec,
     circle_north,
     circle_center,
]

leg_circles = [
     IntoCircle(circle_south, radius, 360),
     IntoCircle(circle_center, radius, 360),
     north_ec,
     IntoCircle(circle_atr_ec, 60e3, 360),
     IntoCircle(circle_north, radius, 360),
]
    
leg_home = [
     mindelo,
     IntoCircle(circle_atr_east, 60e3, 360),
     airport,
]

path = leg_south + leg_circles + leg_home 

cat = intake.open_catalog("https://tcodata.mpimet.mpg.de/internal.yaml")
ds = cat.HIFS(datetime=issued_time).to_dask().pipe(egh.attach_coords)
cwv_flight_time = ds["tcwv"].sel(time=flight_time, method = "nearest")

ax = path_preview(path)
plot_cwv(cwv_flight_time)
Initalization date of IFS forecast: 2024-08-19
Flight date: 2024-08-22
Flight index: HALO-20240822a
../_images/d5d9871413c1b4790413b6019284f7a2e564ef6e7bebb5479564b9e8050321b7.png
Hide code cell source
import pandas as pd
from dataclasses import asdict

pd.DataFrame.from_records(map(asdict, [
     north_ec_atr,
     north_ec,
     meet_ec_atr,
     south_ec_atr,
     circle_north,
     circle_center,
     circle_south,
     south_ec,
     mindelo])).set_index("label")
lat lon fl time note
label
north_ec 17.00000 -22.557746 NaN None None
north 17.00000 -22.557746 NaN None None
meet_ec 15.75000 -22.803849 NaN None None
south_ec 14.50000 -23.047950 NaN None None
circle_north 13.30000 -23.280439 NaN None None
circle_center 9.50000 -24.007309 NaN None None
circle_south 6.00000 -24.667176 NaN None None
south 6.00000 -24.667176 NaN None None
MINDELO 16.87781 -24.995002 0.0 None None
Hide code cell source
from orcestra.flightplan import export_flightplan

export_flightplan("HALO-20240822a", path)