fvcom_tools  1.13.0
All Data Structures Namespaces Files Functions Variables Pages
module_nwp Module Reference

This module defines FV3LAM and FVCOM forecast data structure and the method to read and write observations from and to those data structures. More...

Data Types

type  fcst_nwp
 

Functions/Subroutines

subroutine finish_nwp (this, itype, wcstart)
 Finish and deallocate. More...
 
subroutine get_time_ind_nwp (this, filename, instr, outindex)
 This subroutine searches the FVCOM 'Times' variable and returns the matching index. More...
 
subroutine initial_nwp (this, itype, wcstart)
 This subroutine defines the number of variables and their names for each NWP data type. More...
 
subroutine list_initial_nwp (this)
 This subroutine lists the setup for NWP data that was done by the initial_nwp subroutine. More...
 
subroutine read_nwp (this, filename, itype, wcstart, numlon, numlat, numtimes, time_to_get, mask, sst, ice, sfcT, iceT, sfcTl, zorl, hice, ybegin, yend)
 This subroutine initializes arrays to receive the NWP data, and opens the file and gets the data. More...
 

Variables

type(ncioncdata
 Wrapper object for netCDF data file. More...
 

Detailed Description

This module defines FV3LAM and FVCOM forecast data structure and the method to read and write observations from and to those data structures.

It is used by ingest_FVCOM.f90.

This script is strongly based upon Eric James' (ESRL/GSL) work with HRRR/WRF to get FVCOM data into the model.

Author
David Wright, University of Michigan and GLERL,
Date
17 Aug 2020

Function/Subroutine Documentation

◆ finish_nwp()

subroutine module_nwp::finish_nwp ( class(fcst_nwp this,
character(len=6), intent(in)  itype,
character(len=4), intent(in)  wcstart 
)
private

Finish and deallocate.

Parameters
thisfcst_nwp object
[in]itypeeither ' FVCOM' or 'FV3LAM'
[in]wcstarteither 'warm' or 'cold'.
Author
David Wright, University of Michigan and GLERL

Definition at line 440 of file module_nwp.f90.

◆ get_time_ind_nwp()

subroutine module_nwp::get_time_ind_nwp ( class(fcst_nwp this,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  instr,
integer, intent(out)  outindex 
)
private

This subroutine searches the FVCOM 'Times' variable and returns the matching index.

Parameters
thisfcst_nwp ojbect
[in]filenamenetcdf file name
[in]instrstring of requested time
[out]outindexint index that matches instr
Author
David Wright, University of Michigan and GLERL

Definition at line 488 of file module_nwp.f90.

References ncdata.

◆ initial_nwp()

subroutine module_nwp::initial_nwp ( class(fcst_nwp this,
character(len=6), intent(in)  itype,
character(len=4), intent(in)  wcstart 
)
private

This subroutine defines the number of variables and their names for each NWP data type.

The indices of the variables are also defined for later reference.

Parameters
thisfcst_nwp object
[in]itypeeither ' FVCOM' or 'FV3LAM'.
[in]wcstarteither 'warm' or 'cold'.
Author
David Wright, University of Michigan and GLERL

Definition at line 89 of file module_nwp.f90.

◆ list_initial_nwp()

subroutine module_nwp::list_initial_nwp ( class(fcst_nwp this)
private

This subroutine lists the setup for NWP data that was done by the initial_nwp subroutine.

Parameters
thisfcst_nwp object
Author
David Wright, University of Michigan and GLERL

Definition at line 215 of file module_nwp.f90.

◆ read_nwp()

subroutine module_nwp::read_nwp ( class(fcst_nwp this,
character(len=*), intent(in)  filename,
character(len=6), intent(in)  itype,
character(len=4), intent(in)  wcstart,
integer, intent(inout)  numlon,
integer, intent(inout)  numlat,
integer, intent(inout)  numtimes,
integer, intent(in)  time_to_get,
real(r_single), dimension(:,:), intent(inout)  mask,
real(r_single), dimension(:,:), intent(inout)  sst,
real(r_single), dimension(:,:), intent(inout)  ice,
real(r_single), dimension(:,:), intent(inout)  sfcT,
real(r_single), dimension(:,:), intent(inout)  iceT,
real(r_single), dimension(:,:), intent(inout)  sfcTl,
real(r_single), dimension(:,:), intent(inout)  zorl,
real(r_single), dimension(:,:), intent(inout)  hice,
integer, intent(in)  ybegin,
integer, intent(in)  yend 
)
private

This subroutine initializes arrays to receive the NWP data, and opens the file and gets the data.

Parameters
thisfcst_nwp ojbect
[in]filenamenetcdf file name
[in]itypeeither ' FVCOM' or 'FV3LAM'
[in]wcstarteither 'warm' or 'cold'.
[in,out]numlonnumber of grid points in x-direction
[in,out]numlatnumber of grid poinst in y-direction
[in,out]numtimeslength of time dimension
[in]time_to_getinteger of time dimension to read in
[in,out]maskWater points mask
[in,out]sstWater surface temperature
[in,out]iceIce concentration (%)
[in,out]sfcTSkin Temperature
[in,out]iceTIce Skin Temperature
[in,out]sfcTlSkin Temperature in restart file
[in,out]zorlSurface roughness length
[in,out]hiceIce thickness
[in]ybeginStart grid point in Y direction for the domain
[in]yendEnd grid point in Y direction for the domain
Author
David Wright, University of Michigan and GLERL

Definition at line 259 of file module_nwp.f90.

References ncdata.

Variable Documentation

◆ ncdata

type(ncio) module_nwp::ncdata
private

Wrapper object for netCDF data file.

Definition at line 75 of file module_nwp.f90.

Referenced by get_time_ind_nwp(), and read_nwp().