Skip to content

IhtishamHaq/EnKF_seir

 
 

Repository files navigation

NOTE IN THIS RELEASE:
infile.in has changed:
There are three reproduction factors for the three periods.
There are Rmatrix_01.in, Rmatrix_02.in, and Rmatrix_03.in generated with numbers 1.00 at first run.
These matrices can be edited to set different reproduction factors between different agegroups.
They are read into Rmat(:,:,1:3).
The effective R between agegroups i and j, for the period k, is then  R(i,j) = p%R(k) * Rmat(i,j,k)
This modificaiton provides a significantly improved flexibilty, and adds uncertainty to simulations after
the second intervention.



EnKF_seir code

# 1a. Simple installation:
# Make a directory where you will install the following
git clone [email protected]:geirev/EnKF_seir.git
git clone [email protected]:geirev/EnKF_analysis.git
git clone [email protected]:geirev/EnKF_sampling.git



#1b. Best installation option
# -  Make a personal github account unless you already have one.
# Fork the three repositorys listed above replacing the userid with your github account id.
# Next clone the repositories and set upstream to the original repositories
git clone [email protected]:<userid>/EnKF_seir.git
cd EnKF_seir; git remote add upstream https://github.com/geirev/EnKF_seir

git clone [email protected]:<userid>/EnKF_analysis.git
cd EnKF_analysis; git remote add upstream https://github.com/geirev/EnKF_analysis

git clone [email protected]:<userid>/EnKF_sampling.git
cd EnKF_sampling; git remote add upstream https://github.com/geirev/EnKF_sampling
# If you are new to git read the README_GIT file


# 2. Install blas, lapack, libfftw3, and Fortran95
sudo apt-get update
sudo apt-get install libblas-dev liblapack-dev libfftw3-dev gfortran

# 3. Compile the EnKF_analysis library
cd EnKF_analysis/lib
# in the makefile: change build dir to dir where EnKF_seir will be build"
#   BUILD = ../../EnKF_seir/build
# This will put all the .o files as well as libanalysis.a in the same dir as you will use when compiling EnKF_seir
make

# 4. Compile the EnKF_sampling library
cd EnKF_sampling/lib
# in the makefile: change build dir to dir where EnKF_seir will be build"
#   BUILD = ../../EnKF_seir/build
# This will put all the .o files as well as libanalysis.a in the same dir as you will use when compiling EnKF_seir
make

cd 5. EnKF_seir/src
# change target install dir which is currently $HOME/bin to where you want it to reside
make

cd ../run
seir

For some plotting options check python/enkf_seir/plot
  plot.py
  covid.ipynb

good luck and ask when you get stuck.

################################################################################
# If you plan to change the code note the follwing:

I always define subroutines in new modules:

   module m_name_of_routine
   ! define global variables here
   contains
   subroutine name_of_sub
   ! define local variables here


   end subroutine
   end module

in the main program you write
   program seir
   use m_name_of_routine
   call  name_of_routine
   end program

The main program then has access to all the global variables defined in the module, and
knows the header of the subroutine and the compiler checks the consistency between the call
and the subroutine definition.

   make new  -> updates the dependencies for the makefile
   make tags -> runs ctags (useful if you use vim)

For this to work install the scripts in the ./bin in your path and install ctags

################################################################################

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 82.6%
  • Python 7.6%
  • Jupyter Notebook 6.0%
  • MAXScript 2.1%
  • Makefile 0.9%
  • Perl 0.4%
  • Shell 0.4%