Skip to content

thomas-fred/KW_TC_boundary_layer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kepert and Wang boundary layer model

This repository contains a Fortran implementation of the Kepert and Wang (2001) boundary layer model for coupling gradient-level tropical cyclone winds to the earth's surface.

The boundary layer model was designed and coded by Yuqing Wang. The code was modified by James Done and Ming Ge in 2019-2021.

Aims

  • Improve the usability of this model
  • Factor out a useful kernel
  • Run the kernel from Python
  • Integrate within a formal workflow
  • Run workflow for synthetic storms
  • Produce synthetic wind footprints for Jamaica or Mauritius

Usage

The code is currently split into three major pieces. The first and last are for pre and post processing and are written in NCAR Command Language (NCL), a scripting language developed at NCAR and now not maintained. The other is the boundary layer model, written in Fortran.

To install NCL and other dependencies:

micromamba create -f environment.yml -y

You will also need a fortran compiler, e.g. gfortran or ifort.

The data directory should look something like this, with files available from James:

data/
├── domain
│   ├── geo_pr.nc
├── landuse.tbl
└── tracks
    ├── IBTrACS.ALL.v04r00.nc
    ├── rmax_ib.nc
    └── vmax_ib.nc

preprocess_historical.ncl

This NCL script selects, processes, and plots all TC tracks within 200km of land as well as data about the simulation domain like land use.

  • Input: rmax_ib.nc, vmax_ib.nc, IBTrACS.ALL.v04r00.nc, geo_pr.nc
  • Output: track.txt (per storm), lat_2d.dat, topo.dat, landuse.dat, topo.nc (not used)

boundary-layer

Build and install boundary-layer binary with:

cd src
make clean
make
make install

The install step will place the binary in ~/.local/bin.

Set parameters in namelist. Note that some parameters are hardcoded inside main.f90.

Run with boundary-layer.

This will run for the timesteps requested in namelist and will produce lots of binary files like maria_WILLOUBY_000.d

postprocess_historical.ncl

This is currently set up to read the maria_WILLOUBY_*.d files, process them into a maximum wind footprint (with plot).

Testing

There are simple integration tests in tests/integration, run from this directory as follows.

For 2 hours of Maria 2017 over Puerto Rico, with a coarse timestep. The test takes about 70 seconds to run with 64 cores. ./tests/integration/test.sh short

The same domain, grid and storm, but 24 hours duration and with a 4 second timestep, takes about 35 minutes with 64 cores. ./tests/integration/test.sh long

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published