Tools from NERSC to run the Ensemble Kalman Filter, adapted to NEMO.

Francois Massonnet 5a0af75992 EnKF compiling upon start of freeboard assim developments 3 years ago
EnKF-MPI-TOPAZ 5a0af75992 EnKF compiling upon start of freeboard assim developments 3 years ago
conversion_uf 053954a000 Version of MareNostrum4 just copied 5 years ago
interpolate_observations 053954a000 Version of MareNostrum4 just copied 5 years ago
sanity_check 5a0af75992 EnKF compiling upon start of freeboard assim developments 3 years ago
README.md 053954a000 Version of MareNostrum4 just copied 5 years ago
enkf_modules_to_load.txt 053954a000 Version of MareNostrum4 just copied 5 years ago

README.md

November 2016 Updated November 2017

François Massonnet francois.massonnet@bsc.es/uclouvain.be

Everything available to set up the ensemble Kalman filter for NEMO and EC-Earth

|-----------------------------------------------------------------------| |ALL COMPILATIONS AND CREATION OF BINARY FILES SHOULD BE DONE ON THE HPC| |-----------------------------------------------------------------------|

1/ Go to the HPC

2/ Clone the git repository (some HPCs don't allow communication with the web, in this case clone locally and rsync the git project to HPC)

git clone https://earth.bsc.es/gitlab/fmassonnet/EnKF-assimilation.git

3/ Check-out the appropriate branch

git checkout develop-${HPC} where ${HPC} is for instance mn4

The file enkf_modules_to_load.txt is a set of modules to be load at compilation and execution to make sure that all libraries are found

A/ Compilation of the EnKF code

The folder EnKF-MPI-TOPAZ is a modified copy of the source code found at NERSC (http://enkf.nersc.no/Code/NERSC_implementation/V2/)

It has been modified as to work with NEMO and LIM, by F. Massonnet and C. König Beatty.

THE CODE SHOULD NOT BE MODIFIED

cd EnKF-MPI-TOPAZ make clean source ../enkf_modules_to_load.txt make

An executable EnKF should be produced. Try to run it to see if you get the following information message:

bsc32526@login2:/gpfs/projects/bsc32/bsc32526/enkf/EnKF-assimilation/EnKF-MPI-TOPAZ> ./EnKF Inne i start_mpi: qmpi_proc_num = 0 master = T MPI started with 1 processors Usage: EnKF

      EnKF -h

Options:

 -h -- describe parameter fie format

B/ Compilation of the program to convert NetCDF files to binaries

cd ../conversion_uf/ make clean source ../enkf_modules_to_load.txt make

Two executables named prep_obs_ORCA1 and prep_obs_ORCA25 should be created. Try them:

./prep_obs_ORCA1

       0

(prep_obs) takes a real obs, extracts the desired variable and outputs it in a format that the EnKF can read & treat ('observations.uf').

A file named mask.nc containing the variables tmaskutil, nav_lon and nav_lat is expected to be in the current directory (ORCA-file)

Three command line arguments are expected:

  1. Path to the nc file of which the data is to be extracted.
  2. Variable name that can be found in there, 'h_i_htc1' or 'at_i'. or dxdy_ice
  3. A tag with the date, e.g. 19790520

Hope to see you again soon.

(prep_obs): Stopped.

C/ Compilation of the program to post-process the restarts after assimilation ("sanity_check")

The folder sanity_check is a set of routines that make sure that the restarts provided by the EnKF can be read by NEMO. These are home-made (François Massonnet, see also description in http://www.sciencedirect.com/science/article/pii/S1463500315000050

cd ../sanity_check/ make clean source ../enkf_modules_to_load.txt make

An executable named sanity_checked is created, try it:

./sanity_check

sanity_check_LIM3 needs arguments: -analysis_file_ice -forecast_file_ice -analysis_file_oce -forecast_file_oce Checks NEMO-LIM3 ice and ocean analyses restarst (netcdf) file for sanity and fixesthem if necessary.

Sanity means for now: Strongly follow limupdate.F90 Files mask.nc and mesh_hgr.nc need to be in the current directory

Hope to see you again soon.

Chris König Beatty Francois Massonnet -- francois.massonnet@uclouvain.be Last update: 2013 Last update: 2016 (to work with NEMO3.6) (sanity_check): Stopped.

D/ Convert NetCDF observations (already interpolated on the ORCA grids) to UF format:

cd ../conversion_uf/

open convert.bash, check it, and run it (always on HPC)