Note
Click here to download the full example code
Re-projecting from CAR to CEA¶
The pfsspy solver takes a cylindrical-equal-area (CEA) projected magnetic field map as input, which is equally spaced in sin(latitude). Some synoptic field maps are equally spaced in latitude however, which is a plate carée (CAR) projection.
This example shows how to use the pfsspy.utils.car_to_cea
function to
reproject a CAR projection to a CEA projection that pfsspy can take as input.
from pfsspy import sample_data
from pfsspy import utils
import matplotlib.pyplot as plt
Load a sample ADAPT map, which has a CAR projection
adapt_maps = utils.load_adapt(sample_data.get_adapt_map())
adapt_map_car = adapt_maps[0]
Out:
Files Downloaded: 0%| | 0/1 [00:00<?, ?file/s]
adapt40311_03k012_202001010000_i00005600n1.fts.gz: 0%| | 0.00/3.11M [00:00<?, ?B/s][A
adapt40311_03k012_202001010000_i00005600n1.fts.gz: 0%| | 2.00/3.11M [00:00<89:10:32, 9.68B/s][A
adapt40311_03k012_202001010000_i00005600n1.fts.gz: 8%|7 | 241k/3.11M [00:00<57:35:10, 13.8B/s][A
adapt40311_03k012_202001010000_i00005600n1.fts.gz: 29%|##9 | 906k/3.11M [00:00<30:56:59, 19.7B/s][A
adapt40311_03k012_202001010000_i00005600n1.fts.gz: 52%|#####2 | 1.62M/3.11M [00:00<14:35:07, 28.2B/s][A
adapt40311_03k012_202001010000_i00005600n1.fts.gz: 94%|#########3| 2.91M/3.11M [00:00<1:19:39, 40.3B/s] [A
Files Downloaded: 100%|##########| 1/1 [00:00<00:00, 1.08file/s]
Files Downloaded: 100%|##########| 1/1 [00:00<00:00, 1.08file/s]
Re-project into a CEA projection
adapt_map_cea = utils.car_to_cea(adapt_map_car)
Out:
/home/docs/checkouts/readthedocs.org/user_builds/pfsspy/envs/0.6.2/lib/python3.7/site-packages/sunpy/map/mapbase.py:838: SunpyUserWarning: Missing metadata for observer: assuming Earth-based observer.
warnings.warn(warning_message, SunpyUserWarning)
/home/docs/checkouts/readthedocs.org/user_builds/pfsspy/envs/0.6.2/lib/python3.7/site-packages/sunpy/map/mapbase.py:838: SunpyUserWarning: Missing metadata for observer: assuming Earth-based observer.
warnings.warn(warning_message, SunpyUserWarning)
Plot the original map and the reprojected map
plt.figure()
adapt_map_car.plot()
plt.figure()
adapt_map_cea.plot()
plt.show()
Out:
/home/docs/checkouts/readthedocs.org/user_builds/pfsspy/envs/0.6.2/lib/python3.7/site-packages/sunpy/map/mapbase.py:838: SunpyUserWarning: Missing metadata for observer: assuming Earth-based observer.
warnings.warn(warning_message, SunpyUserWarning)
/home/docs/checkouts/readthedocs.org/user_builds/pfsspy/envs/0.6.2/lib/python3.7/site-packages/sunpy/map/mapbase.py:838: SunpyUserWarning: Missing metadata for observer: assuming Earth-based observer.
warnings.warn(warning_message, SunpyUserWarning)
Total running time of the script: ( 0 minutes 2.497 seconds)