Skip to content

Latest commit

 

History

History
81 lines (62 loc) · 4.76 KB

FES2022_setup.md

File metadata and controls

81 lines (62 loc) · 4.76 KB

FES2022 SETUP INSTRUCTIONS

This document shows how to setup the FES2022 global tide model to get modelled tides at a given location for a given time period.

1. Install pyfes

If you have an old installation of coastsat (pre version 3.0), you will not have pyfes installed. You can try to run conda install conda-forge::pyfes with your coastsat environment activated, but this will probably not work and raise a conflict due to compatibility of pyfes with your Python version. To install pyfes wihin the coastsat environment you will need to create a new environment by following the instructions in the main README (create a separate environment).

2. Download FES2022 netcdf files

  1. Go to this location and download the all the files and put them in a folder. These are the netcdf file containing the tidal constituents for the whole world.

    • If you can't access this link, you will need to download the files yourself from the AVISO website and follow the steps below.
    • If you can access the link, skip to step 7.
  2. Go to https://www.aviso.altimetry.fr/ and create an account, then login. Then go to https://www.aviso.altimetry.fr/en/data/data-access/registration-form.html and fill the form, ticking FES (Finite Element Solution - Oceanic Tides Heights).

  3. Navigate to My Products (https://www.aviso.altimetry.fr/en/my-aviso-plus/my-products.html) and the FES product should be there as shown here: image

  4. Download WinSCP or your favourite SFTP software and click use SFTP link (sftp://ftp-access.aviso.altimetry.fr:2221/auxiliary/tide_model) to create a connection.

  5. Then download under /fes2022b the folders /load_tide and /ocean_tide (not /ocean_tide_extrapolate). Download all the components (34 NETCDF files) and unzip them. image

  6. Finally download the fes2022.yaml from https://github.com/CNES/aviso-fes/tree/main/data/fes2022b and save it in the same folder as /load_tide and /ocean_tide.

  7. Open the fes2022.yaml file in a text editor and change the path to each of the tidal constituents (individual netcdf files). Add the absolute path to each .nc file, an example is shown below. You can use find and replace to do this in one go. It should look like below:

    radial:
    cartesian:
        amplitude: amplitude
        latitude: lat
        longitude: lon
        paths:
        2N2: C:\Users\kilia\Documents\GitHub\CoastSat\fes2022b\load_tide\2n2_fes2022.nc
        Eps2: C:\Users\kilia\Documents\GitHub\CoastSat\fes2022b\load_tide\eps2_fes2022.nc
        J1: C:\Users\kilia\Documents\GitHub\CoastSat\fes2022b\load_tide\j1_fes2022.nc
        K1: C:\Users\kilia\Documents\GitHub\CoastSat\fes2022b\load_tide\k1_fes2022.nc
        K2: C:\Users\kilia\Documents\GitHub\CoastSat\fes2022b\load_tide\k2_fes2022.nc
        L2: C:\Users\kilia\Documents\GitHub\CoastSat\fes2022b\load_tide\l2_fes2022.nc
        Lambda2: C:\Users\kilia\Documents\GitHub\CoastSat\fes2022b\load_tide\lambda2_fes2022.nc
    etc...
    

    Make sure to do this for both radial and tide parts of the file.

    Your Python environment can map shorelines and predict tides anywhere in the world.

3. Test that it's working

To test your installation, open the Miniforge/Anaconda Prompt. Activate the coastsat environment and open Python:

  • conda activate coastsat
  • python Locate the path to your fes2022.yaml file and copy it. Then type:
  • import pyfes
  • filepath = PATH_TO_fes2022.yaml
  • handlers = pyfes.load_config(config)

This last command may take 5 minutes to run but if it doesn't return an error you are all good to go.

You can now generate tide time-series using FES2022 for any location and any dates.

4. Example of tide prediction

# load pyfes and the global tide model (may take one minute)
import pyfes
filepath = os.path.join(os.pardir,'CoastSat.webgis','aviso-fes-main','data','fes2022b')
config =  os.path.join(filepath, 'fes2022.yaml')
handlers = pyfes.load_config(config)
ocean_tide = handlers['tide']
load_tide = handlers['radial']
# load coastsat module to estimate slopes
from coastsat import SDS_slopes

# get centroid, date range and timestep
centroid = [151.3023463 -33.7239154]
date_range = [pytz.utc.localize(datetime(2024,1,1)),
              pytz.utc.localize(datetime(2025,1,1))]
timestep = 900 # in seconds

# predict tides
dates_ts, tides_ts = SDS_slopes.compute_tide(centroid, date_range, timestep, ocean_tide, load_tide)