Importing and Visualizing Near-Real Time Argo Floats Data in ArcGIS
Whether you're an oceanographer, a policymaker, or simply curious about our planet's blue frontier, Argo floats and their integration with GIS offers an excellent resource for exploring and protecting our oceans. In this blog, we will explore the importance of the Argo program, a global array of autonomous profiling floats, and how to import and visualize the Argo NetCDF data in ArcGIS.
This blog post was written by Mohamed Ahmed with support and feedback from Jon Salter (Education and Research Group Director at Esri Canada), Avinaba Mistry (Ph.D. Student at UNB University), and Suprio Ray (Professor at UNB University).
In Greek mythology, Jason embarked on a voyage aboard a ship named Argo with his crew from Iolcus (now Thessaly in Greece) to Colchis (now Georgia) to retrieve the Golden Fleece. Two decades ago, a group of oceanographers chose the name “Argo” to represent a global array of autonomous profiling floats to improve temperature and salinity measurements in the upper ocean. The selection of the name was influenced by the Jason satellite mission that measures sea level rise from space. The Jason mission and Argo program together provide regular global sea surface height and subsurface temperature and salinity measurements, the variables that are necessary for the proper interpretation of sea surface height.
Today, as part of the Global Ocean Observing System (GOOS), Argo floats exhibit significant synergies with various other in-situ observation networks, including shipboard repeat hydrography, moored buoys, surface drifters, glider transects, sea level stations, and animal-borne profiling. The scope of GOOS is to coordinate global monitoring for sustainable development of ocean resources, protection from ocean hazards, and a greater understanding of climate processes. One of the valuable monitoring tools supported by GOOS is the OceanOPS dashboard which tracks over 100,000 observations a day to monitor and report on the status of the global ocean observing system and networks (Figure 1).
Figure 1: Interactive map of the OceanOPs dashboard showing various ocean observations from different platforms across the ocean.
Before Argo floats, obtaining comprehensive in-situ ocean observations was a challenging task. Temperature and salinity data were primarily collected from ships and moored buoys, which created a geographical bias towards the northern hemisphere oceans where these platforms were predominantly deployed. The measurements obtained from ship-based surveys were mostly along specific transect lines, resulting in significant spatial gaps in sampling. Moreover, the temporal coverage of the data was uneven, limited to the years and seasons when ships were available, with particularly sparse data from high latitudes during winter. Therefore, Argo's aim was to provide a sustained and global near real-time sampling of subsurface temperature-salinity-pressure profiles and velocity fields by using the autonomous profiling float technology. There are currently around 4000 Argo floats deployed in our ocean and you can see their latest location in the following ARGO Float Status ArcGIS dashboard (Figure 2).
Figure 2: The ARGO Float Status ArcGIS Dashboard showing the latest floats locations associated with other information such as current floats number, number of profiles, average number of profiles, and number of floats per country.
In 2016, the Argo program extended to measure other key biogeochemical ocean variables such as oxygen, pH, nitrate, downwelling light, chlorophyll fluorescence, and the optical backscattering coefficient. These measurements play a vital role in enhancing our knowledge of the oceans and their influence on climate patterns. By collecting data on temperature and salinity profiles, the Argo floats contribute to studying ocean circulation, heat distribution, and freshwater balance. Also, the Argo measurements are invaluable for understanding ocean acidification, ocean deoxygenation (lack of oxygen in the ocean), sea-level rise, and their impacts on marine ecosystems. Oceanographers use this wealth of information to investigate the intricate relationships between the ocean and climate systems, predict weather patterns and model climate change scenarios. Fortunately, Governments, policymakers, and marine resource managers can utilize this near-real-time information in ArcGIS for spatial analytics and visualizations to make informed decisions regarding fisheries management, marine conservation, and disaster response planning.
You can learn more about the Argo program and its future through the following story map:
Importing Argo data to ArcGIS
Once you download the Argo data as a NetCDF (network Common Data Form) file either by date or float, you are ready to use it in ArcGIS. However, when you try to import the file using the Make NetCDF Feature Layer geoprocessing tool and choose a specific variable such as temperature “TEMP_ADJUSTED”, you will notice that the dropdown list for the X Variable and Y Variable are only the number of levels “N_Levels” and the number of profiles “N_Prof” (Figure 3). To visualize the data properly in ArcGIS, you would expect to have Latitude and Longitude variables in the dropdown list.
Figure 3: A screenshot of the Make NetCDF Feature Layer tool showing the dropdown list menu is missing coordinate variables.
Looking closely at the Argo NetCDF file, you will quickly notice that the file has no parameters listed in coordinates and the Latitude and Longitude variables are only listed in the data variables as shown below.
To overcome this issue, Avinaba Mistry, a Ph.D. Student in the Faculty of Computer Science, University of New Brunswick who is working on a Mitacs project using Argo data under the supervision of Dr. Suprio Ray and with the support of the Education and Research team at Esri Canada wrote a Python script to fix this issue. You can access the code and the associated ArcGIS Pro toolbox on GitHub.
There are two ways to make the dimensions and coordinates appear properly in the Argo NetCDF file so we can import the file to ArcGIS Pro using the “Make NetCDF Feature Layer” geoprocessing tool:
- Code approach: after downloading the “convert_ARGO_CLI.py” script from GitHub in the same location where you downloaded the Argo file, you need to open a terminal or command prompt and install the following libraries xarray and NetCDF4 using this command:
conda install -c conda-forge xarray netCDF4
After successfully installing xarray and NetCDF4, you can add the following line by replacing the “sample_ARGO_profile.nc” with your downloaded Argo NetCDF file:
python3 convert_ARGO_CLI.py sample_ARGO_profile.nc --verbose=true
- No-code approach: download the ArcGIS Pro toolbox from GitHub in the same location where you downloaded the Argo file. Open a new project in ArcGIS Pro. Then, in the Catalog pane, on the Project tab, right-click Toolboxes and click Add Toolbox. Browse to the ArcGIS Pro toolbox on your local computer and click OK. The toolbox appears in the Toolboxes container in the Catalog pane and the Contents pane of a catalog view (Figure 4). Double click on “Convert Argo NetCDF to ArcGIS parsable NetCDF”, browse to your Argo NetCDF file, and then click Run.
Figure 4: A screenshot showing the added ArcGIS Pro toolbox downloaded from GitHub in the Catalog pane.
It doesn’t matter which method you choose to convert the Argo file; you should have a new added file in your directory with the same filename as your Argo NetCDF file and the suffix “_processed”. For example, if your Argo file is named “Argo_pacific.nc” there will be a newly added file in your directory named “Argo_pacific_processed.nc”.
When you import the file using the Make NetCDF Feature Layer geoprocessing tool and choose the temperature variable “TEMP_ADJUSTED”, you will notice that the dropdown list for the X Variable and Y Variable now have more options including longitude “lon” and Latitude “lat”.
Argo Floats have revolutionized our understanding of the oceans, offering a wealth of invaluable data for both oceanographic and non-oceanographic users. From its inception, Argo has made its data freely available to the operational and research communities and the general public and, in doing so, has led to a new paradigm in ocean data sharing. The Argo data contribution to climate science, marine biology, maritime operations, and coastal management, coupled with the integration of their data in ArcGIS, opens new avenues for exploration, analysis, and informed decision-making.
Please don't hesitate to contact me (email: mahmed@esri.ca) if you have any inquiries regarding the use of Argo data in ArcGIS. I will be happy to assist and support you.