FV3DYCORE  Version1.0.0
sim_nc_mod Module Reference

The module 'sim_nc' is a netcdf file reader. More...

Functions/Subroutines

subroutine, public open_ncfile (iflnm, ncid)
 
subroutine, public close_ncfile (ncid)
 
subroutine, public get_ncdim1 (ncid, var1_name, im)
 
subroutine, public get_var1_double (ncid, var1_name, im, var1, var_exist)
 The 'get_var' subroutines read in variables from netcdf files. More...
 
subroutine, public get_var1_real (ncid, var1_name, im, var1, var_exist)
 
subroutine, public get_var2_real (ncid, var_name, im, jm, var2)
 
subroutine, public get_var2_r4 (ncid, var2_name, is, ie, js, je, var2, time_slice)
 
subroutine, public get_var2_double (ncid, var2_name, im, jm, var2)
 
subroutine, public get_var3_double (ncid, var3_name, im, jm, km, var3)
 
subroutine, public get_var3_real (ncid, var3_name, im, jm, km, var3)
 
subroutine, public check_var_exists (ncid, var_name, status)
 
subroutine, public get_var3_r4 (ncid, var3_name, is, ie, js, je, ks, ke, var3, time_slice)
 
subroutine get_var4_real (ncid, var4_name, im, jm, km, nt, var4)
 
subroutine get_var4_double (ncid, var4_name, im, jm, km, nt, var4)
 
subroutine get_real3 (ncid, var4_name, im, jm, nt, var4)
 
logical function, public check_var (ncid, var3_name)
 
subroutine get_var_att_str (ncid, var_name, att_name, att)
 
subroutine, public get_var_att_double (ncid, var_name, att_name, value)
 
subroutine, public handle_err (idstr, status)
 
subroutine calendar (year, month, day, hour)
 The subroutine 'calendar' computes the current GMT. More...
 

Detailed Description

The module 'sim_nc' is a netcdf file reader.

The code is necessary to circumvent issues with the FMS 'read_data' utility, which opens too many files and uses excessive memory.

Author
Shian-Jiann Lin

Function/Subroutine Documentation

◆ calendar()

subroutine sim_nc_mod::calendar ( integer, intent(inout)  year,
integer, intent(inout)  month,
integer, intent(inout)  day,
integer, intent(inout)  hour 
)
private

The subroutine 'calendar' computes the current GMT.

Definition at line 429 of file sim_nc_mod.F90.

◆ check_var()

logical function, public sim_nc_mod::check_var ( integer, intent(in)  ncid,
character(len=*), intent(in)  var3_name 
)

Definition at line 372 of file sim_nc_mod.F90.

◆ check_var_exists()

subroutine, public sim_nc_mod::check_var_exists ( integer, intent(in)  ncid,
character(len=*), intent(in)  var_name,
integer, intent(inout)  status 
)

Definition at line 238 of file sim_nc_mod.F90.

◆ close_ncfile()

subroutine, public sim_nc_mod::close_ncfile ( integer, intent(in)  ncid)

Definition at line 67 of file sim_nc_mod.F90.

◆ get_ncdim1()

subroutine, public sim_nc_mod::get_ncdim1 ( integer, intent(in)  ncid,
character(len=*), intent(in)  var1_name,
integer, intent(out)  im 
)

Definition at line 78 of file sim_nc_mod.F90.

◆ get_real3()

subroutine sim_nc_mod::get_real3 ( integer, intent(in)  ncid,
character(len=*), intent(in)  var4_name,
integer, intent(in)  im,
integer, intent(in)  jm,
integer, intent(in)  nt,
real(kind=4), dimension(im,jm), intent(out)  var4 
)
private

Definition at line 345 of file sim_nc_mod.F90.

◆ get_var1_double()

subroutine, public sim_nc_mod::get_var1_double ( integer, intent(in)  ncid,
character(len=*), intent(in)  var1_name,
integer, intent(in)  im,
real(kind=8), dimension(im), intent(out)  var1,
logical, intent(out), optional  var_exist 
)

The 'get_var' subroutines read in variables from netcdf files.

Definition at line 93 of file sim_nc_mod.F90.

◆ get_var1_real()

subroutine, public sim_nc_mod::get_var1_real ( integer, intent(in)  ncid,
character(len=*), intent(in)  var1_name,
integer, intent(in)  im,
real(kind=4), dimension(im), intent(out)  var1,
logical, intent(out), optional  var_exist 
)

Definition at line 116 of file sim_nc_mod.F90.

◆ get_var2_double()

subroutine, public sim_nc_mod::get_var2_double ( integer, intent(in)  ncid,
character(len=*), intent(in)  var2_name,
integer, intent(in)  im,
integer, intent(in)  jm,
real(kind=8), dimension(im,jm), intent(out)  var2 
)

Definition at line 181 of file sim_nc_mod.F90.

◆ get_var2_r4()

subroutine, public sim_nc_mod::get_var2_r4 ( integer, intent(in)  ncid,
character(len=*), intent(in)  var2_name,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
real(kind=4), dimension(is:ie,js:je), intent(out)  var2,
integer, intent(in), optional  time_slice 
)

Definition at line 153 of file sim_nc_mod.F90.

◆ get_var2_real()

subroutine, public sim_nc_mod::get_var2_real ( integer, intent(in)  ncid,
character(len=*), intent(in)  var_name,
integer, intent(in)  im,
integer, intent(in)  jm,
real(kind=4), dimension(im), intent(out)  var2 
)

Definition at line 137 of file sim_nc_mod.F90.

◆ get_var3_double()

subroutine, public sim_nc_mod::get_var3_double ( integer, intent(in)  ncid,
character(len=*), intent(in)  var3_name,
integer, intent(in)  im,
integer, intent(in)  jm,
integer, intent(in)  km,
real(kind=8), dimension(im,jm,km), intent(out)  var3 
)

Definition at line 199 of file sim_nc_mod.F90.

◆ get_var3_r4()

subroutine, public sim_nc_mod::get_var3_r4 ( integer, intent(in)  ncid,
character(len=*), intent(in)  var3_name,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  ks,
integer, intent(in)  ke,
real(kind=4), dimension(is:ie,js:je,ks:ke), intent(out)  var3,
integer, intent(in), optional  time_slice 
)

Definition at line 246 of file sim_nc_mod.F90.

◆ get_var3_real()

subroutine, public sim_nc_mod::get_var3_real ( integer, intent(in)  ncid,
character(len=*), intent(in)  var3_name,
integer, intent(in)  im,
integer, intent(in)  jm,
integer, intent(in)  km,
real(kind=4), dimension(im,jm,km), intent(out)  var3 
)

Definition at line 218 of file sim_nc_mod.F90.

◆ get_var4_double()

subroutine sim_nc_mod::get_var4_double ( integer, intent(in)  ncid,
character(len=*), intent(in)  var4_name,
integer, intent(in)  im,
integer, intent(in)  jm,
integer, intent(in)  km,
integer, intent(in)  nt,
real(kind=8), dimension(im,jm,km,1), intent(out)  var4 
)
private

Definition at line 318 of file sim_nc_mod.F90.

◆ get_var4_real()

subroutine sim_nc_mod::get_var4_real ( integer, intent(in)  ncid,
character*(*), intent(in)  var4_name,
integer, intent(in)  im,
integer, intent(in)  jm,
integer, intent(in)  km,
integer, intent(in)  nt,
real*4, dimension(im,jm), intent(out)  var4 
)
private

Definition at line 276 of file sim_nc_mod.F90.

◆ get_var_att_double()

subroutine, public sim_nc_mod::get_var_att_double ( integer, intent(in)  ncid,
character*(*), intent(in)  var_name,
character*(*), intent(in)  att_name,
real(kind=8), intent(out)  value 
)

Definition at line 399 of file sim_nc_mod.F90.

◆ get_var_att_str()

subroutine sim_nc_mod::get_var_att_str ( integer, intent(in)  ncid,
character*(*), intent(in)  var_name,
character*(*), intent(in)  att_name,
character*(*), intent(out)  att 
)
private

Definition at line 383 of file sim_nc_mod.F90.

◆ handle_err()

subroutine, public sim_nc_mod::handle_err ( character(len=*)  idstr,
integer  status 
)

Definition at line 416 of file sim_nc_mod.F90.

◆ open_ncfile()

subroutine, public sim_nc_mod::open_ncfile ( character(len=*), intent(in)  iflnm,
integer, intent(out)  ncid 
)

Definition at line 55 of file sim_nc_mod.F90.